POST запрос retrofit

221
31 мая 2018, 04:30

Столкнулся с проблемой POST запроса, когда сервер посылает 1 строку:

Принимает:

{ nameAnt:"...", pass:"..." }

А отвечает:

{"result":"NOT QUERY"}

Пытаюсь вывести, в лог ответ, но не получается. Вот мой код:

ConrollerPost.Java:

package dev.busboozted;
import android.widget.Toast;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class ControllerPost implements Callback<RegistrationResponse> {
static final String BASE_URL = "http://busboosted.000webhostapp.com/";
public void start(String login, String password) {
    Gson gson = new GsonBuilder()
            .setLenient()
            .create();
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create(gson))
            .build();
    Api gerritAPI = retrofit.create(Api.class);
    RegistrationBody reg = new RegistrationBody(login, password);
    Call<RegistrationResponse> call = gerritAPI.getResult(reg);
    call.enqueue(this);

}

@Override
public void onResponse(Call<RegistrationResponse> call,                 
   Response<RegistrationResponse> response) {
    RegistrationResponse res = response.body();
System.out.println(res.result);
System.out.println("sdasdasdsadsad");
}
@Override
public void onFailure(Call<RegistrationResponse> call, Throwable t) {
}
}

Действие на нажатие кнопки:

View.OnClickListener oclLoginIp = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ControllerPost controllet = new ControllerPost();
            controllet.start("debil", "qwerty");
        }
    };

И интерфейс:

package dev.busboozted;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
 public interface Api {
  @POST("entranceAnt.php")
 public Call<RegistrationResponse> getResult(@Body RegistrationBody reg);
} 

RegistrationResponse.Java:

package dev.busboozted;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class RegistrationResponse {
@SerializedName("result")
public String result;
public String getResult() {
    return result;
}
public void setResult() { this.result = result;}
}

RegistrationBody.Java package dev.busboozted;

public class RegistrationBody {
public String login;
public String password;

public RegistrationBody(String login, String password)
{
    this.login = login;
    this.password = password;
}
}
Answer 1
System.out.println(res.result);
System.out.println("sdasdasdsadsad");

Явно не то, что вы хотите

Для вывода логов в Logcat используйте:

Log.d("TAG", res.result);

P.S.подробнее про использование логов и их классификацию читайте в официальной документации

READ ALSO
Volatile атомарность [дубликат]

Volatile атомарность [дубликат]

На данный вопрос уже ответили:

175
JSF подключение css и font-awesome

JSF подключение css и font-awesome

Всем добрый деньИзучаю JSF, и в ходе построения страницы возникли несколько вопросов,на которые найти какой то правильный ответ не смог

210
поиск xpath по двум условиям

поиск xpath по двум условиям

Всем приветНе получается найти значение элементов

187