gpt4 book ai didi

java - reSTLet post getFirstValue 总是返回 null

转载 作者:行者123 更新时间:2023-11-30 08:12:31 26 4
gpt4 key购买 nike

我正在使用 postman 客户端向这个不稳定的路由器发送 RES 请求:

public Representation createAgent(Representation entity) {
Form form = new Form(entity);

String user = form.getFirstValue("user");
String password = form.getFirstValue("password");


System.out.println("user: "+ user);
System.out.println("password: "+ password);
System.out.println("form: "+ form.toString());

return (agent.save(getUser(),getPassword()))
? new StringRepresentation("user "+ user +" created", MediaType.TEXT_PLAIN)
: new StringRepresentation("agent creation failed",MediaType.TEXT_PLAIN);

}

尽管打印 form.toString() 显示:用户名和密码始终为空:

[[------WebKitFormBoundaryb4FkGv8CgddIf8rn
Content-Disposition: form-data; name="user"

ali
------WebKitFormBoundaryb4FkGv8CgddIf8rn
Content-Disposition: form-data; name="password"

dsndfjo32
------WebKitFormBoundaryb4FkGv8CgddIf8rn--
]]

以下是预览模式下的完整 postman 请求:

POST /v1/agents HTTP/1.1
Host: localhost:9000
Authorization: Basic c2NvdHQ6amRmZ2pkZnRnaA==
Cache-Control: no-cache
Postman-Token: ef58fda2-8974-0d9f-7a23-10c94df8552e
Content-Type: multipart/form-data; boundary=---- WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="user"

ali
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="password"

dsndfjo32
----WebKitFormBoundary7MA4YWxkTrZu0gW

最佳答案

事实上,如果您查看在请求中发送的数据的内容类型,这对应于多部分内容而不是 URL 编码形式。

您在服务器资源中使用的代码仅适用于 URL 编码形式(内容类型 application/x-www-form-urlencoded)。所以什么都得不到也是正常的。有关信息,这种方法的有效载荷将是这样的:

user=my+user&password=my+password

也许这是你想要的。如果是这样,请在 Postman 中选择标签 x-www-form-urlencoded...

当您要上传包含附加数据的文件时,通常会使用 Multipart。如果你想要多部分,你应该看看这个链接:http://restlet.com/technical-resources/restlet-framework/guide/2.3/extensions/fileupload .

希望对你有帮助,蒂埃里

关于java - reSTLet post getFirstValue 总是返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30426302/

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