gpt4 book ai didi

java - 从请求体中读取参数

转载 作者:行者123 更新时间:2023-12-01 09:40:27 24 4
gpt4 key购买 nike

我有以下请求正文。

正文:代码=471b001b-432f-3172-b59f-2b03c7847cf6&client_secret=AtO0zxf62KoYasYTobOGRXVRZXsa&grant_type=authorization_code&client_id=4rYClwGnY4CE_XXAkMCoWuI4mnIa&redirect_uri=https%3A%2F%2 fop.certification.openid.net%3A60746%2Fauthz_cb

我需要从请求正文中读取 client_secret 参数。我使用下面的代码来读取请求正文。

Scanner scanner = null;
try {
scanner = new Scanner(request.getInputStream());
} catch (IOException e) {

}
while (scanner.hasNextLine()) {
stringBuilder.append(scanner.nextLine());
}
String requestBody = stringBuilder.toString();

我可以创建一个逻辑来从 requestBody 字符串中获取 client_secret 参数的值。但我需要知道我们是否有直接的方法从 HTTPRequest Body 读取参数。

任何建议都将受到高度赞赏。

谢谢。

最佳答案

ServletRequest(以及扩展后的 HttpServletRequest)(1) 对象具有获取请求参数的内置支持。

您可以使用以下方式获取特定参数:

String paramValue = request.getParameter('parameterName');

返回类型始终为String。请注意,此方法也适用于 GET 请求(现在我猜您正在处理 POST 请求,因为参数位于请求正文中)。

您还可以查看 getParameterMapgetParameterValuesgetParameterNames,看看它们是否有用。

HttpServletRequest Javadoc: http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html

ServletRequest Javadoc: http://docs.oracle.com/javaee/7/api/javax/servlet/ServletRequest.html

(1) :我根据getInputStream()假设这是你的对象的类型,如果我错了,请纠正我。

关于java - 从请求体中读取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38499910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com