我正在使用邮递员扩展名进行后期处理.我想用android发出相同的请求.我使用改造库来访问我的目标.但是我无法获得成功的结果.我的代码错误在哪里?
我的界面:
public interface Interfacem {
@FormUrlEncoded
@POST("/login")
Call<ResponseBody> getResponse(@Field("signin[username]") String username,@Field("signin[password]")String password );
}
和改造用途:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://myurl.com")
.build();
Interfacem service = retrofit.create(Interfacem.class);
Call<ResponseBody> result =service.getResponse("myUsername","myPassword");
result.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Response<ResponseBody> response) {
try {
System.out.println(response.body().string().toString());
} catch (IOException|NullPointerException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
});
解决方法:
尝试这个
提供身体
public class SignBody {
@SerializedName("signin[username]") @Expose private String username;
@SerializedName("signin[password]") @Expose private String password;
}
将界面更改为
@POST("/login")
Call<ResponseBody> getResponse(@Body SignBody body);