Rest风格开发简介
简单点来说,Rest风格的开发就是让别人不知道你在做什么,以deleteUserById和selectUserById为例:
普通开发:路径 /users/deleteById?Id=666 /users/selectById?Id=666 别人很容易知道你这是在干什么
Rest风格开发: 无论是查还是删 路径都是 /users/1 要依靠行为动作(get或delete)才能知道我们在干什么
开发流程
重点区分
简化上述流程的新注解
简化后的案例
package com.example.restproject.controller;import com.example.restproject.entity.User;
import org.springframework.web.bind.annotation.*;@RestController//@RestController=@Controller+@ResponseBody
@RequestMapping("users")
public class UserController {/*单个参数的可以把参数加入路径变量,通过控制访问行为让别人不知道我们在干什么 /user/1删 delete查 get多个参数的一般用json封装,@RequestBody接收参数 路径中什么也不显示 /users改 put增 post*/@PostMapping//多参数的情况,我们选择用json传送public void addUser(@RequestBody User user){System.out.println("user:"+user);}@DeleteMapping("/{id}")public void deleteUser(@PathVariable int id){System.out.println("delete user...");}// @DeleteMapping("/{id}/{password}") /users/1/123 别人真不知道我在干啥
// public void deleteUser(@PathVariable int id,@PathVariable int password){
// System.out.println("delete user...");
// }@PutMappingpublic void updateUser(@RequestBody User user){System.out.println("update user...");}@GetMapping("/{id}")//把id加入路径中public void selectUser(@PathVariable int id){System.out.println("select user...");}
}