Retrofit2 POST отправка на сервер PHP

209
03 августа 2018, 08:30
Retrofit rt;
    Gson gson = new GsonBuilder()
            .setLenient()
            .create();
    rt=new Retrofit.Builder().baseUrl("http://10.0.2.2/").addConverterFactory(ScalarsConverterFactory.create()).addConverterFactory(GsonConverterFactory.create()).build();

    Foo foo=rt.create(Foo.class);
    //Map<String,String> mapp=new HashMap<>();
    //mapp.put("author","author");
    Call<String> msg=foo.postJson("msg");
    msg.enqueue(new Callback<String>() {
        @Override
        public void onResponse(Call<String> call, Response<String> response) {
            Log.v("STERLITAMAK", response.body().toString());
        }
        @Override
        public void onFailure(Call<String> call, Throwable t) {
            Log.v("STERLITAMAK", t.toString());
        }
    });

Код интерфейса

public interface Foo {
    @GET("Singleton")
    Call<String> getJson(@Query("weneed") String author);
    @POST("Singleton")
    @FormUrlEncoded
    Call<String> postJson(@Field("weneed") String author);
    @FormUrlEncoded
    @POST("Singleton")
    Call<String> postJson1(@FieldMap Map<String,String> data);
}

Код PHP на сервере

echo $_POST["weneed"];

На сервер данные в виде POST не приходят. Я уже не представляю в чем может быть ошибка, почти уверен что не на сервере ошибка, так как метод в интерфейсе getJson работает как надо.

Answer 1

Параметр у аннотации POST - URL куда идет отправка. Наиболее вероятная причина - на сервере установлен параметр http://php.net/manual/en/ini.core.php#ini.enable-post-data-reading - скорее всего он выставлен в off.

READ ALSO
Помогите непонятный PHP код return($var &amp; 1);

Помогите непонятный PHP код return($var & 1);

Изучаю PHP функцию array_filter, на сайте w3school наткнулся на непонятный код,

149
Помогите с задачей PHP + JS

Помогите с задачей PHP + JS

У меня есть PHP код в котором записывается данные из БД

166
Laravel ошибка Call to a member function first() on array

Laravel ошибка Call to a member function first() on array

Laravel выводит ошибку которая четко говорит что нельзя вызывать member функцию first() на массиве

164
Добавить массив в таблицу MySQL

Добавить массив в таблицу MySQL

Подскажите как добавить такой массив в таблицу MySQL:

170