gpt4 book ai didi

java - RequestBody 参数很多时如何传递内容?

转载 作者:行者123 更新时间:2023-11-29 04:39:09 26 4
gpt4 key购买 nike

我正在使用 postman 来测试我的请求。所以我从 postman 那里选择了显示代码 fragment 的选项并选择了 OkHttp fragment 是:

OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");

RequestBody body = RequestBody.create(mediaType, "a=foo&b=bar&c=wow&d=awesome&e=random&f=rainbows /** lots of strings **/");
Request request = new Request.Builder()
.url(URL)
.post(body)
.addHeader("content-type", "application/x-www-form-urlencoded")
.addHeader("cache-control", "no-cache")
.addHeader("postman-token", "40052d2a-0ff0-ead4-1cf7-1c12f9b8eca9")
.build();

Response response = client.newCall(request).execute();

RequestBody 的内容真的很大。我尝试使用字符串连接创建它并且它有效但是如果我得到一个带空格的字符串并且谁知道存在哪些其他边缘情况可能会混淆内容怎么办。

那么有没有比字符串连接更好的方法呢?

最佳答案

我想你想使用 FormBody:

RequestBody body = new FormBody.Builder()
.add("imageUrl", imageUri.toString())
.add("caption", caption)
.add("foo", "bar")
.build();

它还会为您添加内容类型并关心编码。

另一个选项是 Uri 类,但由于您已经在使用 okhttp3,因此不需要它。

关于java - RequestBody 参数很多时如何传递内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39982737/

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