本篇讲解什么是RESTful以及如何设计RESTful接口,使用springboot构建RESTful Api
构建RESTful api
- 什么是RESTful
REST 是 REpresentational State Transfer 的缩写,直译为:表现层状态转移
RESTful是一种架构风格,URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作
如何设计RESTful Api
- RESTful接口的设计主要体现在请求资源的url和请求的方式【get/post/put/delete/等】上
- 使用URL用来标识一个互联网资源,使用http method来标识当前请求对该资源进行什么操作
- 看Url就知道要什么,看http method就知道干什么,看http status code就知道结果如何
以对用户操作为例:
实现基于RESTful风格的接口
- 新建一个springboot项目或以springboot-learn-project项目为基础
我是复制fuspringboot-learn-project项目 重命名为:springboot-learn-RESTful
- 新建包:com.my.po
- 在其下创建类:User
public class User {
private String id;
private String name;
private int age;
private String address;
//省略get,set,toString等方法
}
- 在com.my.controller目录下新建类:UserController
- 本文重点在如何设计构建RESTful,所以只是在接口中模拟了相关的操作
@RestController
public class UserController {
@GetMapping("/users")
public List<User> getUsers(){
List<User> list = new ArrayList<User>();
list.add(new User("1", "明羽", 23, "北京巴拿马"));
list.add(new User("2", "小挪", 23, "北京巴拿马"));
return list;
}
@GetMapping("/users/{id}")
public String getUserById(@PathVariable String id){
return "模拟获取用户通过id:"+id;
}
@PostMapping("/users")
public String addUsers(User user){
return "模拟添加:"+user.toString();
}
@PutMapping("/users")
public String updateUserById(User user){
return "模拟更新:"+user.toString();
}
@DeleteMapping("/users/{id}")
public String deleteUserById(@PathVariable String id){
return "模拟删除 :"+id;
}
}
@PathVariable 绑定url请求参数到方法参数上
依次测试上述接口:
获取所有用户【get,/users】
通过id获取单个用户【get,/users/{id}】
新添用户【post,/users】
修改用户【put,/users】
删除用户【delete,/users/{id}】
到这相信你可能已经初步了解了什么是RESTful Api以及如何构建RESTful Api
码云 :https://gitee.com/cmy1996/springboot
github :https://github.com/mingyuHub/springboot