热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简简单单一篇文章,入门RESTfulURL设计

HTTP是REST的封装(implementation)。Verbs动作VerbSafe?Idempotent?ScenarioOPTIONSYYgetcommunicationo

HTTP 是 REST 的封装(implementation)。

Verbs / 动作

VerbSafe ?Idempotent?Scenario
OPTIONSYYget communication options(at least available verbs)
GETYYget resource
HEADYYsame with GET but no response body
PUTNYcreate(if not exists)/replace resource
DELETENYdelete resource
POSTNNcreate resource, unsafe operations there are no suitable verbs for
PATCHNNupdate resource partially

与 RPC 风格 web 服务比较

RPC(SOAP):

  • 只使用 HTTP POST 动作来传输封装打包的数据
  • 重点是方法
  • 重量级的

RESTful:

  • 对 CRUD 的标准 HTTP 动作(POST, GET, PUT/PATCH, DELETE)
  • 重点是资源,资源导向
  • 轻量级的,跨平台容易

REST-RPC:

不封装,也是非标准 HTTP 动作,看见方法信息的 URI

参考资料:

Web API Design – Crafting Interfaces that Developers Love, you need to input your email to receive the ebook. [MUST READ] ‼️
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
https://github.com/interagent/http-api-design

案例:

http://developer.github.com/v3

URL 设计原则

1、记住,REST 是以资源作为导向的。
2、对资源集使用复数名词形式(plural noun),如:/dogs
3、操作单个资源,使用 URL :/dogs/1234
4、使用正确的 HTTP 动词
5、共同的 CRUD 事例:

ResourcePOSTGETPUTPATCHDELETE
/dogscreate a new doglist dogsbulk update dogsXdelete all dogs
/dogs/1234Xshow a dogupdate a dogUpdate a dog partiallydelete a dog

推荐阅读
author-avatar
埃菲尔的天空有什么
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有