RESTful设计之集合模式
按照7步骤原则走
- 1.将客户端可能想要从你的API中取出或者放进你的API的所有信息都罗列出来。这些将会变成你的语义描述符。语义描述符常常会组成一种层级结构。一个指向的是现实世界中某个对象(比如一个人)的描述符通常会包含许多的更加细化、更加抽象的描述符(比如姓名(givenName))。你需要将你的描述符以一种直观的方式进行分组。
登录,任务,消息,日程,通知,考勤,通讯录,文件,账号(个人)
login,task,message,schedule,notice,checkin,file,account
选择使用application/vnd.collection+json,但是javax.ws.rs.core.MediaType是没有这种类型的,然后通过iana:http://www.iana.org/assignments/media-types/media-types.xhtml找到http://www.iana.org/assignments/media-types/application/vnd.collection+json,发现里面的发布官网Published specification :
http://amundsen.com/media-types/collection/
它的java例子是java8写的
https://github.com/collection-json/collection-json.java
- 2.为你的API画一幅状态图。图上的每个方框都代表一种表述–一个将你的某些语义描述符组合到一起的文档。你应该使用箭头来将表述以某种方式连接起来,你的客户端应该能够通过这种方式来找到这些箭头的本质含义:它们就是由HTTP请求触发的状态转换。
你还不需要为你的状态转换分配具体的HTTP方法,但是你应该清楚每个状态转换的情况:它们是安全的,还是不安全但是等幂的,又或者是既不安全也不等幂的。
在这个时候,你可能会发现某些你之前还认为是语义描述符的事物(某项业务的客户)作为一种链接关系(某项业务使用链接关系customer来链接到某个人或者另一项业务)来处理更加有意义。重复步骤1和步骤2直到你对你的语义描述符和链接关系已经满意。
更新列表:
参考文章:
相关阅读
- 2024.9.19 »
- 2021.3.2 » 常用测试代码
- 2019.7.25 » Java常用类库