почему нет ответа при использовании Android дооснащения, хотя я вижу запрос? - PullRequest
0 голосов
/ 14 мая 2018

Я использую модификацию 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) {

           }
       });
    }
}

ответ, который возвращает мой сервер:

{"name": "Mathew", "age": 22}

Я вижу тело запроса на стороне сервера, оно выглядит следующим образом:

name =Мэтью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...