Post请求没有Get请求那么多弯弯绕,需要注意的点在于接口方法的参数上。常见的接口参数有两类:
- 直来直去型:可以直接罗列请求中各项参数,在保证参数名称与请求中参数名称一致的情况下不需要注解,例如
请求 --- {"name": "tony", "age": "89"}可以直接被方法接住:
@PostMapping(value = "post_request_body")
public String handlePostRequest(String name, String age) {
return "My name is " + name + "and I am " + age + " years old!";
}
*@RequestBody简洁型:当请求参数比较复杂时,上面的方法会导致参数列表过长,比较好的办法是使用@RequestBody来修饰参数,当然参数类型是对应于请求数据结构的Bean。这里有一点需要注意,当使用@RequestBody的时候,post请求header中必须指定content-type为application/json
@PostMapping(value = "post_request_body")
public String handlePostRequest(@RequestBody PostRequestParam param) {
return "My name is " + param.getName() + "and I am " + " years old!";
}
网友评论