Java 使用改型2发送带有url参数的帖子
我想发一封改装2的邮件。url有一些参数:Java 使用改型2发送带有url参数的帖子,java,android,retrofit2,Java,Android,Retrofit2,我想发一封改装2的邮件。url有一些参数: @Headers({ "Accept: application/x-www-form-urlencoded;", "User-Agent: my-app" }) @FormUrlEncoded @POST("server/directory/location.type") `public Call<POJOStringValue> dataWithUr(@Path("arg1") String arg1, @
@Headers({
"Accept: application/x-www-form-urlencoded;",
"User-Agent: my-app"
})
@FormUrlEncoded
@POST("server/directory/location.type")
`public Call<POJOStringValue> dataWithUr(@Path("arg1") String arg1, @Path("arg2"), String arg2);
get()方法:
我这样称呼它:
public String callFunctionDB(String arg1, String arg2){
setupClient();
Call<POJOStringValue> call = get().dataWithUrlString(arg1, arg2);
try {
POJOStringValue response = call.execute().body();
String value = response.getValue();
int test = 0;
} catch (IOException e) {
String value = "it failded";
e.printStackTrace();
}
return "test";
}
public String callFunctionDB(字符串arg1、字符串arg2){
setupClient();
Call Call=get().dataWithUrlString(arg1,arg2);
试一试{
POJOStringValue response=call.execute().body();
字符串值=response.getValue();
int检验=0;
}捕获(IOE异常){
String value=“它失败了”;
e、 printStackTrace();
}
返回“测试”;
}
我把测试值设为0,这样就可以设置一个断点,它永远不会达到。另外,我在doInbackground中调用了方法“callFunctionDB”,以避免android.os.NetworkOnMainThreadException。如果请求表单编码,改型要求您至少有一个表单参数。您已经回答了自己的问题——您使用的是查询参数而不是POST字段,因此不需要进行注释。删除
@FormUrlEncoded
注释,并将参数更改为@Query
注释。共享调用web服务的代码@FormUrlEncoded
为什么?你是对的,这是问题之一
public static RequestInterface get(){
return this.client_;
}
public String callFunctionDB(String arg1, String arg2){
setupClient();
Call<POJOStringValue> call = get().dataWithUrlString(arg1, arg2);
try {
POJOStringValue response = call.execute().body();
String value = response.getValue();
int test = 0;
} catch (IOException e) {
String value = "it failded";
e.printStackTrace();
}
return "test";
}