springboot获取请求参数的几种方式可选参数使用

springboot获取请求参数的几种方式可选参数使用,第1张

post 请求获取body内容

注意:HttpServletRequest 请求中的 body 内容仅能调用 requestgetInputStream(), requestgetReader()和requestgetParameter("key") 方法读取一次,重复读取会报 javaioIOException: Stream closed 异常。

1get请求获取全部参数

2、可选参数

@RequestMapping的可选参数

使用@requesMapping标注的处理函数包括的可选参数,除了HttpServletRequest, HttpServletResponse, HttpSession这些web应用中常见的参数及之前提到过的@PathVariable外,还可以包括以下可选的参数,其中大部分参数的顺序没有特殊要求的。

当前请求所属的区域设置。

用来读取request content,相当于 requestgetInputStream()或requestgetReader();

用来生成reponse content,相当于responsegetOutputStream()或responsegetWriter()。

当前认证了的用户

Spring 对request,response,session等web元素封装后的对象HttpServletRequest/response/HttpSession等原始的web对象

用来存放domain model的map结构。

可用来读取http请求的header和 body内容,注意因为httpentity,@RequestBody,Reader这三种类型的参数都是通过inputstram来读取httpbody的数据的,而inputstream流不能反复读取,因此这三种类型的参数不能放在一起使用。而且在没有设置content-type或没有设置相应的messageconverter的情况下,都会报错。

通过spring 的databinding机制将request请求中的参数自动转换为对应的java bean实例。

对command或form objects值的校验结果。此参数必须紧跟在需校验的command或form object参数后面。因为databinding可以允许将输入参数和多个java bean 进行绑定(也就是说我们可以把输入request param转换成为多个java 对象)。

Session的状态。当使用@SessionAttributes来标注请求需要session中对应的值时,在处理结束时,使用SessionStatus setComplete()来将session设置为时效。

将request参数和handler method参数做绑定。例如

将handler method中的参数与request header中的值绑定,例如

将handler method中的参数与request context body中的值绑定
例如

表示将request body中的内容与u这个入参绑定。

将handler method中的参数与cookie中的值绑定
例如

将handler method中的参数与对应的类型绑定,名称缺省为类名(首字母小写),如果ModelAttribute指定了值则以该值作为model attribute name。
例如

实例

1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。

url形式: http://localhost/SSMDemo/demo/addUser1username=lixiaoxi&password=111111 提交的参数需要和Controller方法中的入参名称一致。

2、通过HttpServletRequest接收,post方式和get方式都可以。

3、通过一个bean来接收,post方式和get方式都可以。
(1)建立一个和表单中参数对应的bean

(2)用这个bean来封装接收的参数

4、通过@PathVariable获取路径中的参数

例如,访问 http://localhost/SSMDemo/demo/addUser4/lixiaoxi/111111 路径时,则自动将URL中模板变量{username}和{password}绑定到通过@PathVariable注解的同名参数上,即入参后username=lixiaoxi、password=111111。
5、使用@ModelAttribute注解获取POST请求的FORM表单数据
Jsp表单如下:

Java Controller如下:

6、用注解@RequestParam绑定请求参数到方法入参

当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value="username", required=false)

以上就是关于springboot获取请求参数的几种方式可选参数使用全部的内容,包括:springboot获取请求参数的几种方式可选参数使用、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9672938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存