gpt4 book ai didi

android - 改造@POST参数通过GET发送

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:27 27 4
gpt4 key购买 nike

我正在尝试使用 @QueryMap 发送多个参数(就像我通常做的那样)但是这次使用改造通过 POST。

改造 API

@POST("/request.php")
void sendRequest(@QueryMap Map<String, String> parameters, retrofit.Callback<RequestSendResponse> callback);

正在发送的 map

public static Map<String, String> parametersSendRequest(Context sender, Request request)
{
Map <String, String> parameters = new HashMap<>();
Operator operator = AppConfig.config().operator;

parameters.put("user_name", request.user_name);
parameters.put("user_surname", request.user_surname);
parameters.put("user_gender", request.user_gender);
parameters.put("user_relationship", request.user_relationship);
parameters.put("user_dob", request.user_dob);
parameters.put("operator_name", operator.name);
parameters.put("request_photoid", request.request_photoid);
parameters.put("request_user_content", request.request_user_content);
parameters.put("request_title", request.request_title);
parameters.put("uuid", UUID(sender));
parameters.put("response_type", "json");
parameters.put("platform", "android");
parameters.put("mode", "send");

return parameters;
}

服务器结果

{"POST":[],"GET":{"operator_name":....}}

我可以看到连方法都发送到POST , @QueryMap导致这些参数通过 GET 发送。即使我使用 @Body而不是 @QueryMap ,改造将我的 @QueryMap 转换为 JSON 对象,这不是我想要的。

我只想发送param1=value1&param2=value2在我的请求主体上,而不是 JSON 对象(使用我的 Map<String, String> )

最佳答案

使用 POST 发送参数(@FormUrlEncoded@FieldMap)

@FormUrlEncoded
@POST("/request.php")
void sendRequest(@FieldMap Map<String, String> parameters, retrofit.Callback<RequestSendResponse> callback);

关于android - 改造@POST参数通过GET发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28892105/

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