RestFul风格详解-Java版本

133 阅读1分钟

一、概念

     一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

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里指明注解即可!*

图片.png

完全的Restful风格只适合业务简单以增删改查为主的系统。对于业务逻辑复杂的系统,完全的Restful风格会成为灾难。可以适度裁剪使用。