SpringMVC之RESTful

SpringMVC之RESTful

Restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。
Restful风格的请求是使用“url+请求方式”表示一次请求目的的,HTTP 协议里面四个表示操作方式的动词如下:
GET:读取(Read)
POST:新建(Create)
PUT:更新(Update)
DELETE:删除(Delete)

客户端请求 原来风格URL地址 RESTful风格URL地址
查询所有 /user/findAll GET /user
根据ID查询 /user/findById?id=1 GET /user/{1}
新增 /user/save POST /user
修改 /user/update PUT /user
删除 /user/delete?id=1 DELETE /user/{1}

代码实现

@PathVariable
用来接收RESTful风格请求地址中占位符的值
@RestController
RESTful风格多用于前后端分离项目开发,前端通过ajax与服务器进行异步交互,我们处理器通常返回的是json数据所以使用@RestController来替代@Controller和@ResponseBody两个注解。

//@Controller
@RestController     //组合注解:@Controller + @ResponseBody
@RequestMapping("/restful")
public class RestfulController {

//    @RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
//    @ResponseBody
    @GetMapping("/user/{id}")       //相当于@RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
    public String findById(@PathVariable Integer id){
        return "findById: " + id;
    }

    @PostMapping("/user")
    public String post(){
        return "post";
    }

    @PutMapping("/user")
    public String put(){
        return "put";
    }

    @DeleteMapping("/user/{id}")
    public String delete(@PathVariable Integer id){
        return "delete: " + id;
    }

}
上一篇:通俗的语言解释REST,以及RESTful?


下一篇:RestFul风格的请求以及拦截器