Rest风格开发简介
简单点来说,Rest风格的开发就是让别人不知道你在做什么,以deleteUserById和selectUserById为例:
普通开发:路径 /users/deleteById?Id=666 /users/selectById?Id=666 别人很容易知道你这是在干什么
Rest风格开发: 无论是查还是删 路径都是 /users/1 要依靠行为动作(get或delete)才能知道我们在干什么
开发流程
重点区分
简化上述流程的新注解
简化后的案例
java
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...");
// }
@PutMapping
public void updateUser(@RequestBody User user){
System.out.println("update user...");
}
@GetMapping("/{id}")
//把id加入路径中
public void selectUser(@PathVariable int id){
System.out.println("select user...");
}
}