请教一下spring boot 怎样通过RequestMapping的参数选择函数?

spring boot 怎样通过RequestMapping的参数选择函数


呼啦一阵风
浏览 601回答 2
2回答

慕尼黑的夜晚无繁华

下面一些例子来说明使用@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"; }使用@PathVariabl获取路径中传递参数@RequestMapping(value="/users/{userId}/topics/{topicId}") public ModelAndView helloWorld( @PathVariable String userId, @PathVariable Long topicId) { System.out.println(id); System.out.println(str); return new ModelAndView( " /helloWorld " ); }如请求的URL为“控制器URL/users/123/topics/456”,则自动将URL中模板变量{userId}和{topicId}绑定到通 过@PathVariable注解的同名参数上,即入参后userId=123、topicId=456。代码在 PathVariableTypeController中
打开App,查看更多内容
随时随地看视频慕课网APP