为什么在使用android改造时没有响应,虽然我可以看到请求?

时间:2018-05-14 12:21:32

标签: android retrofit

我正在使用android改造向我的laravel服务器发送一个帖子请求。我面临的是我可以在服务器端获取请求主体,但没有响应(onResponse方法不运行)。 API接口:

package com.example.asus.retrofit;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

public interface Api {
    String BASE_URL="http://405d6d4f.ngrok.io/";
    @POST("execute")
    @FormUrlEncoded
    Call<ServerJsonObject> sendData(@Field("name") String name);

}

我的ServerJsonObject类:

public class ServerJsonObject {

    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
} 

MainActivity:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(Api.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        Api api = retrofit.create(Api.class);
        Call<ServerJsonObject> call = api.sendData("Mathew");

       call.enqueue(new Callback<ServerJsonObject>() {
           @Override
           public void onResponse(Call<ServerJsonObject> call, Response<ServerJsonObject> response) {
               ServerJsonObject x = response.body(); // it doesn't enter here when debugging
               Log.d("data",Integer.toString(x.getAge()));
           }

           @Override
           public void onFailure(Call<ServerJsonObject> call, Throwable t) {

           }
       });
    }
}

我的服务器返回的响应:

  

{&#34;名称&#34;:&#34;马修&#34;&#34;年龄&#34;:22}

我可以在服务器端看到请求正文,它如下:

  

名=马修

0 个答案:

没有答案