RESTful 架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
REST -- Representational State Transfer
首先,之所以晦涩是因为前面主语被去掉了,全称是 Resource Representational State Transfer:
综合上面的解释,我们总结一下什么是RESTful架构:
POST api/user/get/{id} //错误 URI,其中get是动词,这个URI就设计错了
GET api/user/{id} //正确 URI
POST api/deleteUser/{id} //错误 URI,其中delete是动词,这个URI就设计错了
DELETE api/user/{id} //正确 URI
如果某些动作是HTTP动词表示不了的,你就应该把动作做成一种资源。比如网上汇款,从账户1向账户2汇款500元:
POST /accounts/1/transfer/500/to/2 //错误 URI
/**正确的写法是把动词transfer改成名词transaction,资源不能是动词,但是可以是 一种服务:**/
POST /transaction HTTP/1.1
Host: 127.0.0.1
from=1&to=2&amount=500.00
http://www.example.com/app/1.0/foo //错误 URI
http://www.example.com/app/1.1/foo //错误 URI
Accept: vnd.example-com.foo+json; version=1.0 //正确
Accept: vnd.example-com.foo+json; version=1.1 //正确
RESTful 架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
使用 RESTful 实现增删改查接口:
@RestController
@RequestMapping("/api/user")
public class UserController {
// 增加操作 POST api/user/
@RequestMapping(value = "/" , method = RequestMethod.POST)
public Result add(@RequestBody User user){
//...具体接口实现
}
// 删除操作 DELETE api/user/{id}
@RequestMapping(value = "/{id}" , method = RequestMethod.DELETE)
public Result delete(@PathVariable String id){
//...具体接口实现
}
// 更新操作 PUT api/user/{id}
@RequestMapping(value = "/{id}" , method = RequestMethod.PUT)
public Result update(@PathVariable String id , @RequestBody User user){
//...具体接口实现
}
// 查询操作 GET api/user/{id}
@RequestMapping(value = "/{id}" , method = RequestMethod.GET)
public Result query(@PathVariable String id){
//...具体接口实现
}
// 查询列表操作 GET api/user/list
@RequestMapping(value = "/list" , method = RequestMethod.GET)
public Result list(){
//...具体接口实现
}
}
使用 Postman 调用:
在 Spring Boot 构建 RESTful 风格应用,你学会了吗?
原文:https://www.cnblogs.com/lixiaofeng101/p/11482396.html