V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cmai
V2EX  ›  程序员

关于 REST 和 REST API 的一些问题

  •  
  •   cmai · 2020-10-22 19:26:42 +08:00 · 2453 次点击
    这是一个创建于 1519 天前的主题,其中的信息可能已经有所发展或是发生改变。

    REST 究竟是什么

    1. 在看 [微服务架构设计模式] 的时候,提到微服务通常使用轻量级协议例如 REST 或 gRPC
    2. 有说 Spring Cloud 基于 REST API 作为服务调用
    3. 也有说是通信机制(忘了哪本书还是哪个文章了),服务于服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API )

    疑问

    1. cloud 不是基于 feign 这种组件么,feign 应该只是封装了 http 操作而已吧(暂时忽略负载均衡),为什么说基于 REST API
    2. REST 不是一种架构风格么?提倡 url 描述资源,HTTP Method 描述动作, 符合这种架构风格的就是 RESTful API,和通信机制 /协议有什么关系呢
    3. REST API 又是个啥????

    望不吝赐教

    11 条回复    2020-10-23 14:39:53 +08:00
    xumng123
        1
    xumng123  
       2020-10-22 19:32:41 +08:00 via iPhone
    将 restful 这种 url 表示资源,采用 http 的 method 的通信机制用于微服务之间通讯。微服务之间当然不限于 restful 。
    abbycin
        2
    abbycin  
       2020-10-22 19:37:37 +08:00 via Android
    我很快的发现,其实这本书的作者只是给早已经存在的编程方法起了一些新的名字而已。
    —— 王垠 《谈设计模式》
    guiqiqi
        3
    guiqiqi  
       2020-10-22 20:38:05 +08:00 via iPhone
    我个人理解哈,RESTful API 就是一种基于 HTTP 的 API 的设计风格,充分利用 HTTP 动作字,将一切都看成资源去管理、访问。
    因为 HTTP 的动作字很贴近实际业务中的 CRUD,描述起来也更加自然,所以我们更喜欢它
    woahishui
        4
    woahishui  
       2020-10-22 20:40:09 +08:00 via Android
    天天鸡巴瞎扯概念,
    abersheeran
        5
    abersheeran  
       2020-10-22 22:07:59 +08:00
    楼上说的对,都是给老东西一个新名字,然后就是新概念了。别管就行。
    chendy
        6
    chendy  
       2020-10-22 22:19:49 +08:00
    REST 是一种架构风格
    符合 REST 设计风格的 Web API 称为 RESTful API
    以上复制粘贴自 REST 的维基百科…
    lululau
        7
    lululau  
       2020-10-22 22:32:00 +08:00
    万有引力是宇宙本来就存在的规律啊,牛顿只是给它起了个名字而已,呵呵,脑子是个好东西
    wybhdxfx
        8
    wybhdxfx  
       2020-10-22 23:23:00 +08:00
    上班写代码时,想用尽量符合 RESTful API 的风格去写接口,项目经理说只用 get post 请求,其他一概不用,说得最多一句就是先实现功能,以后再优化。/手动斜眼笑
    tamer
        9
    tamer  
       2020-10-23 09:28:45 +08:00
    @lululau 只起了个名字?这个比喻并不好笑
    cmai
        10
    cmai  
    OP
       2020-10-23 14:38:26 +08:00
    我想讨论的重点在于 ,他提出的新概念,新名字在我看来是不正确的,是我缺少了什么知识吗? 比如 SpringCloud 基于 REST API 调用服务, 我明明是基于 HTTP 的,至于 REST API,我哪怕不遵守这种架构设计也不影响我的调用吧, 还有说 REST 是轻量级协议的, 这个我大概理解一点点, 但是我理解的是他是基于 HTTP 之上的协议,规定了接口的设计风格和返回值的规范,和 HTTP 不是同一个层级的
    cmai
        11
    cmai  
    OP
       2020-10-23 14:39:53 +08:00
    我现在默认把 REST API 当成 RESTful API 理解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1135 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:05 · PVG 07:05 · LAX 15:05 · JFK 18:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.