java中Request对象的主要方法有哪些

java中Request对象的主要方法有哪些,第1张

答:setAttribute(Stringname,Object):设置名字为name的request的参数

getAttribute(Stringname):返回由name指定的属性值

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例

getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding():返回请求中的字符编码方式

getContentLength():返回请求的Body的长度

getHeader(Stringname):获得>

getHeaders(Stringname):返回指定名字的requestHeader的所有值,结果是一个枚举的实例

getHeaderNames():返回所以requestHeader的名字,结果是一个枚举的实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getParameter(Stringname):获得客户端传送给服务器端的有name指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

getParameterValues(Stringname):获得有name指定的参数的所有值

getProtocol():获取客户端向服务器端传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端的名字

getSession([Booleancreate]):返回和请求相关Session

getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(Stringname):删除请求中的一个属性

POST请求时

@RequestBody --> JSON字符串部分

@RequestParam --> 请求参数部分

application/json格局图

1、从content-type方面总结:

① form-data、x->

当您需要将数据从客户端(例如浏览器)发送到API时,可以将其作为 “请求体” 发送。

请求体 是客户端发送到您的API的数据。 响应体 是您的API发送给客户端的数据。

API几乎总是必须发送一个 响应体 ,但是客户端并不需要一直发送 请求体

定义 请求体 ,需要使用 Pydantic 模型

例如,上面的模型 Item 声明了一个 JSON 对象(或Python dict ),例如:

description 和 tax 属性是可选的(因为有默认值 None ),所以下面这个 JSON 对象也是有效的:

将上面定义的模型添加到你的路径 *** 作中,就和定义Path和Query参数一样的方式:

声明参数的类型为你创建的模型 Item

通过那样定义Python 类型为 pydantic 的 model , FastAPI 将会:

模型的 JSON Schema 将成为OpenAPI生成模式的一部分,并将显示在交互式API文档中:

并且还将在需要它们的每个路径 *** 作的API文档中使用:

在你的编辑器中,编写的函数中,你将会获得类型提示和补全:

您也会获得类型 *** 作错误检查:

Pydantic 本身甚至进行了一些更改以支持此 *** 作。

但是您可以通过 PyCharm 和大多数其他Python编辑器获得相同的编辑器支持:

在函数内部,您可以直接访问模型对象的所有属性:

你可以同时定义 Path参数 和 请求体参数

你可以同时定义 Path参数 、 Query参数 和 请求体参数

FastAPI 将识别它们中的每一个并从正确的位置获取数据。

@RequestParam

A)

常用来处理简单类型的绑定,通过RequestgetParameter() 获取的String可直接转换为简单类型的情况( 由String到

简单类型的转换 *** 作由ConversionService配置的转换器来完成);因为使用requestgetParameter()方式获取参数,所以可以处理get

方式中queryString的值,也可以处理post方式中 body data的值。

B)用来处理Content-Type: 为 application/x->

其实就是参考的@RequestBody注解来实现,@JsonParam可以看着为轻量级的获取Json参数的自定义实现注解。

因为流只能读取一次,所以需要在第一次读取的时候,将解析的对象存入ThreadLocal中,以便于多次使用@JsonParam来进行解析。

SpringBoot2x之HandlerMethodArgumentResolver实战

SpringBoot2x之HandlerMethodArgumentResolver(2)—自定义解析器顺序

以上就是关于java中Request对象的主要方法有哪些全部的内容,包括:java中Request对象的主要方法有哪些、POST/GET请求中RequestBody和RequestParam的应用场景、fastapi教程翻译(四):Request Body(请求体)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存