springboot(三):restful风格api

Restful全称Representational State Transfer,表象性状态转变或者表述性状态转移。

可通过[url+请求方式]来确定唯一的api。
eg: school学校 student学生

// 获取所有学校
GET http://xxx.com/v1/api/schools
// 新增学校
POST http://xxx.com/v1/api/schools
// 修改id为1的学校
PUT http://xxx.com/v1/api/schools/1
// 删除id为1的学校
DELTE http://xxx.com/v1/api/schools/1
// 获取学校id为1的所有学生
GET http://xxx.com/v1/api/schools/1/students

对应在springmvc或者springboot里面相关注解
@PathVarivable
@RequestParam
@RequestBody
在默认情况下,@PathVariable注解的参数可以是一些基本的简单类型:int,long,Date,String等,Spring能根据URL变量的具体值以及函数参数的类型来进行转换

几点建议:
1.url都是名词、全小写(虽然大小写敏感),集合则用复数,如schools;复杂单词建议使用-不推荐_,因为地址栏看的清晰一点;
2.GET查询、POST添加、PUT修改(不用patch的原因是单词比较长)、DELETE删除;
3.Restful并没有一个明确的标准,而更像是一种设计的风格。
所以如果get查询参数太长可使用post(严格意义上来说get/post加密方面都不安全),而且有些情况下会过滤掉put和delete,使用前请谨慎权衡。

你可能感兴趣的:(springboot(三):restful风格api)