pring boot 中controller如何接收http请求的参数?
使用@RequestParam绑定请求参数值。具体操作如下。
操作过程:
@RequestMapping(value="/method1")
public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }
@RequestParam的参数有以下三个:
使用数组或者List让@RequestParam接收多个
public String requestparam(@RequestParam(value="role") String roleArray)
public String requestparam(@RequestParam(value="role") List<String> roleList)
value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码
defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties[‘java.vm.version’]}”。
使用@CookieValue绑定请求中的Cookie值
@CookieValue的参数和@RequestParam第二种绑定javax.servlet.http.Cookie类型参数
public String test2(@CookieValue(value="JSESSIONID", defaultValue="") Cookie sessionId)第一种绑定String类型
public String test(@CookieValue(value="JSESSIONID", defaultValue="") String sessionId)
使用@RequestHeader绑定请求报文头的属性值
@RequestMapping(value="/method3") public String method3( @RequestHeader("Accept-Encoding") String encoding, @RequestHeader("Keep-Alive") long keepAlive){ return "methodSignature"; }