Rest API 设计原则
程序员文章站
2022-07-06 12:31:14
...
Rest API 设计原则
1.前缀主要有下面几部分组成:
api.domain.subdomain , sample:http://api.domain.subdomain
2.具体的url是后台domain层次关系的一种展现,比如下面,某个班级的某个学生
sample:http://api.domain.subdomain/classes/{id}/students/{id}
3.一般forward slash(/)后都是名词,已及它们的复数,但某些时候也有可能是动词,比如某些场景我们没法map我们的操作到标准的http method上。比如一个发短信的操作。我们可以这样设计.
http://api.domain.subdomain/students/1123/sendAlert
4.API中所包含的entity.
4.1.document, 比如下面的对应某个班级,这个class就是一个document.一般跟某个领域模型对应。
sample:http://api.domain.subdomain/class
4.2 collections 比如下面的班级复数,classes就是一个collections
sample:http://api.domain.subdomain/classes
4.3 controller,一般情况我们要尽量把我们的操作map到CRUD的http method上(post, put,delete,get),但有些情况实在没法match就只能create 一个controller.
想上面讲的给某个学生发短信,这里可以create一个sendAlert action controller.
http://api.domain.subdomain/students/1123/sendAlert
5.cache的处理
tbd
6.version的管理
tbd
1.前缀主要有下面几部分组成:
api.domain.subdomain , sample:http://api.domain.subdomain
2.具体的url是后台domain层次关系的一种展现,比如下面,某个班级的某个学生
sample:http://api.domain.subdomain/classes/{id}/students/{id}
3.一般forward slash(/)后都是名词,已及它们的复数,但某些时候也有可能是动词,比如某些场景我们没法map我们的操作到标准的http method上。比如一个发短信的操作。我们可以这样设计.
http://api.domain.subdomain/students/1123/sendAlert
4.API中所包含的entity.
4.1.document, 比如下面的对应某个班级,这个class就是一个document.一般跟某个领域模型对应。
sample:http://api.domain.subdomain/class
4.2 collections 比如下面的班级复数,classes就是一个collections
sample:http://api.domain.subdomain/classes
4.3 controller,一般情况我们要尽量把我们的操作map到CRUD的http method上(post, put,delete,get),但有些情况实在没法match就只能create 一个controller.
想上面讲的给某个学生发短信,这里可以create一个sendAlert action controller.
http://api.domain.subdomain/students/1123/sendAlert
5.cache的处理
tbd
6.version的管理
tbd
上一篇: (转)Linux常用命令大全
下一篇: 微信小程序新闻网站列表页