V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
banpotinke
V2EX  ›  问与答

对 REST 的理解还是一知半解, REST 分为好几个阶段,感觉目前有很多不全符合 REST 的设计。另外个人困惑的是,感觉 GET\POST\DELETE\PUT 动词有时候难以表述一些复杂的服务

  •  
  •   banpotinke · 2017-03-26 10:17:04 +08:00 · 2475 次点击
    这是一个创建于 2804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    9 条回复    2017-11-23 10:47:28 +08:00
    itommy
        1
    itommy  
       2017-03-26 10:20:48 +08:00
    举个栗子吧
    zdkmygod
        2
    zdkmygod  
       2017-03-26 10:37:53 +08:00
    你把它当成只接受 CURD 操作的数据库就行了。
    doubleflower
        3
    doubleflower  
       2017-03-26 10:39:30 +08:00
    好好看一个完整的 API 设计文章不就知道了?都有说定制动作的吧。

    比如 google 的关于 custom method :
    https://cloud.google.com/apis/design/custom_methods
    lifeand
        4
    lifeand  
       2017-03-26 10:44:50 +08:00
    REST 风格是基于 http ,充分利用了 http 协议,对服务器端的操作使用关键字 GET\POST\DELETE\PUT ,重要的是 rest 是以资源为导向,抽象为对应的 uri ,对于资源后缀的使用并不是绝对的,具体的表现形式应该在 http 的头部进行描述,服务端并不会保存 rest 的请求相关上下文,所以是无状态的。个人总结, 1 、对 http 关键字的充分利用, 2 、优雅的 uri , 3 、无状态
    这篇文章写的很好 https://www.ibm.com/developerworks/cn/webservices/0907_rest_soap/
    learnshare
        5
    learnshare  
       2017-03-26 10:48:53 +08:00
    method 不是用来表达业务的,是用来表达数据操作的
    ipconfiger
        6
    ipconfiger  
       2017-03-26 11:13:29 +08:00
    Restful 是基于对资源的访问的协议, 对资源的操作也只有 CURD 四种, 所以 HTTP 协议的四个动词是足够的了. 如果你的接口复杂度用对资源的 CURD 操作无法抽象的话, 还是不要勉强用 Restful 的比较好, 不然就会产生你觉得别扭的感觉
    ericls
        7
    ericls  
       2017-03-26 13:28:17 +08:00
    如果你服务端和客户端都是自己写 你可以直接当 json rpc 写算了。。
    ytmsdy
        8
    ytmsdy  
       2017-03-26 17:22:07 +08:00 via iPhone
    写几个 app 的后端就明白了!
    fuckgfwfuckgfw
        9
    fuckgfwfuckgfw  
       2017-11-23 10:47:28 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5996 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 02:32 · PVG 10:32 · LAX 18:32 · JFK 21:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.