欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

@RequestParam @RequestBody @PathVariable用法小结

程序员文章站 2022-06-17 09:06:37
...

@RequestParam

  1. @RequestParam接收的参数是来自于RequestHeader中,即请求头。
    @RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容,Content-Type默认为该属性。

一般用于Get请求,常见的URL:http://localhost:8080/test/findByIdAndName?id=1&name=zhangsan”
后端:

    @RequestMapping("findById")
    public Student findByIdAndName(@RequestParam("id") long id, @RequestParam("name") String name) {
        return null;
    }
  1. @RequestParam也可以用Post类型的请求,比如向表单插入单条数据,但是这样不支持批量插入数据。

例如:
前端请求
@RequestParam @RequestBody @PathVariable用法小结
后端参数接收:后端使用集合来接受参数,灵活性较好,如果url中没有对参数赋key值,后端在接收时,会根据参数值的类型附,赋一个初始key(String、long ……)@RequestParam @RequestBody @PathVariable用法小结


@RequestBody

  • @RequestBody接收的参数是来自RequestBody中,即请求体。
  • @RequestBody一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。
  • 一般用于Post请求,它把前端的json数据传到后端,后端进行解析。

例如:
@RequestParam @RequestBody @PathVariable用法小结
后端:

    @RequestMapping("save")
    public void save(@RequestBody Student student) {
        studentRepository.saveOrUpdate(student);
    }

@PathVariable

  • 使用@PathVariable接收参数,参数值需要在url进行占位,前端传参的URL
  • 一般也是用于Get请求,URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。

例如:localhost:8010/student/findById/1
后端:

    @GetMapping("findById/{id}")
    public Student findById(@PathVariable("id") long id) {
        return studentRepository.findById(id);
    }

相关标签: Java java spring