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 работает как надо.
Параметр у аннотации POST - URL куда идет отправка. Наиболее вероятная причина - на сервере установлен параметр http://php.net/manual/en/ini.core.php#ini.enable-post-data-reading - скорее всего он выставлен в off.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Изучаю PHP функцию array_filter, на сайте w3school наткнулся на непонятный код,
Laravel выводит ошибку которая четко говорит что нельзя вызывать member функцию first() на массиве