一、概念
一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
URL定义
资源:互联网所有的事物都可以被抽象为资源 资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。 分别对应 添加、 删除、修改、查询。
二、使用步骤
1.Resultful有哪些类型?
Get 获取资源
Put 更新资源
Patch 更新部分属性
Delete 删除资源
Post 创建资源
2.编写代码
这里我只列举出重要的代码,如果有需要全套代码的,可以公众号找我领取
UserController类 @RestController @RequestMapping("/users") public class UserController {
@Autowired
UserService userService;
//注意:参数记得加注解@PathVariable,对象实体类记得加@ModelAttribute,不一样的
/*查询单条*/
@GetMapping("/{id}")
public User getUserById(@PathVariable Integer id){
System.out.println(id);
return userService.getUserById(id);
}
/*查询全部*/
@GetMapping
public List<User> getUsers(){
return userService.getUsers();
}
/*新增*/
@PostMapping
public Map insert(@ModelAttribute User user){
userService.insert(user);
return Map.of("code","20000");
}
/*删除*/
@DeleteMapping("/{id}")
public Map delete(@PathVariable Integer id){
userService.delete(id);
return Map.of("code","20000");
}
/*修改*/
@PutMapping("/{id}")
public Map update(@ModelAttribute User user,@PathVariable Integer id){
userService.update(user,id);
return Map.of("code","20000");
}
}
注意:参数记得加注解@PathVariable,对象实体类记得加@ModelAttribute,不一样的 值得注意的是,update因为涉及到原id和被修改后的id,参数有2个,在xml就不需要指明parameterType了,在UserMapper.java里指明注解即可!*
完全的Restful风格只适合业务简单以增删改查为主的系统。对于业务逻辑复杂的系统,完全的Restful风格会成为灾难。可以适度裁剪使用。