像这样使用
API方法
:
@FormUrlEncoded
@POST("/login")
Call<ResponseBody> getResponse(@Field("email") String email, @Field("password") String password) ;
&这样称呼:
@Override
public void onClick(View v) {
LoginModel loginModel = new LoginModel("user@example.com", "123");
RequestAPI service = RetrofitClient.getInstance().create(RequestAPI.class);
Call<ResponseBody> call = service.getResponse(loginModel.getEmail(), loginModel.getPassword());
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
Log.e("=====", response.body().string());
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.e("=====", "error", t);
}
});
}
编辑:
如果您仍然希望将自定义对象作为API调用的原始主体传递,那么
菲律宾比索
侧码:
echo json_encode($_POST);
考虑使用
$post_body = file_get_contents('php://input');
因为这个替代方法直接将整个原始请求体作为变量提供,而不是作为变量提供
JSON对象
进行编码。