GET方法获取参数:

1.直接在方法中指定参数。

    @RequestMapping("/query")
    @ResponseBody
    public Student getStudent1(String id){
        Student s = studentService.getStudent(id);
        return s;
    }

访问方法:http://127.0.0.1:8080/student/query?id=1

2.使用PathVariable

    @RequestMapping("/{id}")
    @ResponseBody
    public Student getStudent(@PathVariable(name="id",required = true) String id){
        Student s = studentService.getStudent(id);
        return s;
    }

访问方法:http://127.0.0.1:8080/1 其中 1对应参数id。

3.使用requestParam

    @ResponseBody
    @RequestMapping("/param")
    public Student getStudent2(@RequestParam(name = "id",required = true) String id){
        return studentService.getStudent(id);
    }

访问方法:http://127.0.0.1:8080/param?id=1 其中1对应于参数id

4.使用HttpServletRequest

    @GetMapping("/servlet")
    @ResponseBody
    public Student getStudent3(HttpServletRequest request){
        String id = request.getParameter("id");
        return studentService.getStudent(id);
    }

访问方法:http://127.0.0.1:8080/student/servlet?id=2 其中2对应参数id

POST方法获取参数

1.获取一个对象

    @PostMapping("/add")
    @ResponseBody
    public Student addStudent(@RequestBody Student student){
        return student;
    }

访问方式:把对应的数据包装在一个对象中,同时要设置content-type:application/json,其中对象包装方式如下图所示:
在这里插入图片描述

2.使用Map对象封装

    @PostMapping("/add1")
    @ResponseBody
    public Map addStudent(@RequestBody Map<String,Object> map){
        Map<String,Object> myMap = new HashMap<>();
        myMap.put("id",map.get("id"));
        myMap.put("name",map.get("name"));
        return myMap;
    }

访问方式同上

3.使用HttpServletRequest

    @PostMapping("/servlet")
    @ResponseBody
    public Map getStudent4(HttpServletRequest request){
        String id = request.getParameter("id");
        String name = request.getParameter("name");
        Map<String,Object> myMap = new HashMap<>();
        myMap.put("id",name);
        myMap.put("name",id);
        return myMap;
    }

访问方式:设置content-type为application/x-www-form-urlencoded,同时包装数据,如下图所示:

在这里插入图片描述

4.使用RequestParam

这种方法和GET方法中的请求与设置参数是一样的,只需要在请求的时候把数据封装在表单中发送就可以了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐