springboot在后端接受前端参数的几种方法
GET方法获取参数:1.直接在方法中指定参数。@RequestMapping("/query")@ResponseBodypublic Student getStudent1(String id){Student s = studentService.getStudent(id);return s;}访问方法:http://127.0.0.1:8080/student/query?id=12.使用
·
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方法中的请求与设置参数是一样的,只需要在请求的时候把数据封装在表单中发送就可以了。
更多推荐
已为社区贡献3条内容
所有评论(0)