springboot在controller中传递参数
header-->放在请求头。请求参数的获取:@RequestHeader(代码中接收注解)
query -->⽤于get请求的参数拼接。请求参数的获取:@RequestParam(代码中接收注解)
path -->(⽤于restful接⼝)-->请求参数的获取:@PathVariable(代码中接收注解)
body -->放在请求体。请求参数的获取:@RequestBody(代码中接收注解)
form -->(不常⽤)
⼀.@PathVariable
@RequestMapping(value="/user/{username}")
public String userProfile(@PathVariable(value="username") String username) {
return "user"+username;
}
或者
@RequestMapping(value = "/user/{username}/blog/{blogId}")
public String getUserBlog(@PathVariable String username, @PathVariable int blogId) {
return "user:" + username + "blog->" + blogId;
}
⼆.@RequestParam
key1=value1&key2=value2这样的参数列表。通过注解@RequestParam可以轻松地将URL中的参数绑定到处理函数⽅法的变量中@RequestMapping(value="/user")
public String getUserBlog(@RequestParam(value="id") int blogId) {
return "blogId="+blogId;
}
当然,在参数不存在的情况下,可能希望变量有⼀个默认值:
jsessionid@RequestParam(value = "id", required = false, defaultValue = "0")
三.@RequestBody
1.接收的参数来⾃于requestBody中,即请求体中
2.@RequestBody注解可以将json数据解析然后供后端使⽤
3.使⽤实体类VO进⾏接收数据
/**
* Post使⽤@RequestBody注解将Json格式的参数⾃动绑定到Entity类
* @param order
* @return
*/
@PostMapping("/order/check")
public String checkOrder(@RequestBody Order order){
String result="id:"+Id()+",name:"+Name()+",price:"+Price();
return result;
}
四、@ModelAttribute
@ModelAttribute也可以使⽤实体类VO进⾏接收数据,区别在于:
1.使⽤@ModelAttribute注解的实体类接收前端发来的数据格式需要为"x-www-form-urlencoded",
2.@RequestBody注解的实体类接收前端的数据格式为JSON(application/json)格式。
(若是使⽤@ModelAttribute接收application/json格式,虽然不会报错,但是值并不会⾃动填⼊
@RequestMapping(value = "sumByWoType")
@GetMapping
@ApiOperation("sumByWoType")
public JSONObject sumByWoType(@ModelAttribute WOTypeQueryParam woTypeQueryParam) {
String paramUrl = String();
String url = String.format("%s/%s?%s", Url(), WorkOrderConstant.SUM_BY_WO_TYPE, paramUrl);
System.out.println(url);
return null;
}
五、@RequestHeader
@Controller
public class handleHeader {
@GetMapping("/getHeader")
public String getRequestHeader(@RequestHeader("User-Agent") String agent) {
System.out.println(agent);
return "success";
}
}
六、@CookieValue
@CookieValue接收cookie的值
public String test(@CookieValue(value="JSESSIONID", defaultValue="") String sessionId) {
}
七、@SessionAttributes绑定命令对象到session 转⾃:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论