Android 使用多个查询参数改装POST
我想做一个岗位指挥 这是我的终点: 我的问题是如何在改造中构建端点 我是这样做的:Android 使用多个查询参数改装POST,android,api,retrofit,Android,Api,Retrofit,我想做一个岗位指挥 这是我的终点: 我的问题是如何在改造中构建端点 我是这样做的: @POST("WSCoreAPI/send/receive/tester") Call<LoginResponse> tester( @QueryMap Map<String, String> data); @POST(“WSCoreAPI/send/receive/tester”) 呼叫测试仪( @查询地图数据); 但它不起作用 除此之外: @POST("WSCore
@POST("WSCoreAPI/send/receive/tester")
Call<LoginResponse> tester(
@QueryMap Map<String, String> data);
@POST(“WSCoreAPI/send/receive/tester”)
呼叫测试仪(
@查询地图数据);
但它不起作用
除此之外:
@POST("WSCoreAPI/send/receive/tester")
Call<LoginResponse> tester(
@Query("method") String method,
@Query("data") String data);
@POST(“WSCoreAPI/send/receive/tester”)
呼叫测试仪(
@查询(“方法”)字符串方法,
@查询(“数据”)字符串数据);
对url编码字段使用@Field和@FormUrlEncoded
@FormUrlEncoded
@POST("WSCoreAPI/send/receive/tester")
Call<LoginResponse> tester(@Field("method") String method,
@Field("data") String data);
@FormUrlEncoded
@POST(“WSCoreAPI/send/receive/tester”)
调用tester(@Field(“method”)字符串方法,
@字段(“数据”)字符串数据);
试试这个
@FormUrlEncoded
@POST("WSCoreAPI/send/receive/tester")
Call<LoginResponse> tester(@FieldMap Map<String, String> parameters);
@FormUrlEncoded
@POST(“WSCoreAPI/send/receive/tester”)
调用测试仪(@FieldMap-Map参数);
好的,我让它工作了
我使用了上述两种解决方案中的任何一种
我所做的是删除了“数据”查询参数的url编码,并使用了以下内容:
@FormUrlEncoded
@POST("WSCoreAPI/send/receive/tester")
Call<LoginResponse> tester(@Field("method") String method,
@Field("data") String data);
@FormUrlEncoded
@POST(“WSCoreAPI/send/receive/tester”)
调用tester(@Field(“method”)字符串方法,
@字段(“数据”)字符串数据);
删除url编码可以解决这个问题,因为改型会自动对带有@Field注释的字段进行编码,但仍然没有成功。我仍然从我的朋友那里得到同样的错误api@fvthree你和邮递员或其他客户也试过吗?您的示例显示
&data=(urlencodeddata)
,并且您使用的是POST方法,但是,您传递的数据是查询的一部分。当您使用@Field
或@FieldMap
时,改型会将其添加到帖子正文中,而不是查询中。你的服务器应该接受邮件正文。我试过用邮递员。服务器不应接受帖子正文。发出请求时,url中应包含“方法”和“数据”。我需要查询您是否有任何错误?错误来自我的api。我不知道如何记录发送到api的实际url请求。因此,我猜在构建我的改造的端点时似乎有问题。你可以把android logcat放在这里更清楚地理解它吗?你可以使用@fvthree记录请求和响应。你应该在改造中使用onSuccess和onFailure方法实现回调接口。在onFailure的情况下,它将抛出一个异常,指出关于rest调用的错误。请尝试在android日志中记录该错误。登录android monitor并添加图像的监视器。这将帮助您调试该问题。这将帮助我们理解电话的问题。