У меня есть API с 4 параметрами и запрос на получение с использованием модернизации.Мой API в порядке.Я проверил это через Почтальон.Но когда я вызываю мой API, он не дает правильного результата.
API.JAVA
public interface Api {
@GET("MAttendance/api/CheckInOut/CheckInOut")
Call<SignUpResponse> tracking(
@Query("UserID") int user_id,
@Query("Latitude") String Latitude,
@Query("Longitude") String Longitude,
@Query("CheckType") String CheckType,
@Query("CheckTime") String CheckTime);}
Пожалуйста, проверьте скриншот для ответа JSON.
Result.java
public class Result1 {
@SerializedName("Status")
@Expose
private String Status;
@SerializedName("ID")
@Expose
private int ID;
public String getStatus() {
return Status;
}
public void setStatus(String status) {
Status = status;
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}}
Вот Зов
Fragment.java
Api userAPICall = RetroFitEngine.getRetrofit().create(Api.class);
Call<Result1> callEnqueue = userAPICall.tracking(userId, latitude, longitude, checkin, timeDate);
callEnqueue.enqueue(new Callback<Result1>() {
@Override
public void onResponse(Call<Result1> call, Response<Result1> response) {
result1 = response.body();
Toast.makeText(getActivity(), "response:" + result1,
Toast.LENGTH_SHORT).show();
if (result1 != null) {
if (result1.getSttatus().equals("SUCCESS")) {
Toast.makeText(getActivity(), "sucessfully",
Toast.LENGTH_SHORT).show();
}
Toast.makeText(getActivity(), result1.getSttatus(),
Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<Result1> call, Throwable t) {
Toast.makeText(getActivity(), "Failure Response",
Toast.LENGTH_SHORT).show();
}
});
}
Вот клиент Retrofit и базовый URL
RetrofitEngine
public class RetroFitEngine {
public static String baseUrl = "http://global.timetick.ae/";
public static OkHttpClient getClient() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(interceptor)
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.build();
client.connectionPool().evictAll();
return client;
}
public static Retrofit getRetrofit() {
OkHttpClient client = getClient();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
return retrofit;
}
}
Я пытаюсь отправить 4 параметра с помощью модификации, но ответ всегда Status: ОШИБКА
Пожалуйста, проверьте Ответ почтальона:
Вот мой ответ и отправьте GET-запрос с 4 параметрами, чтобы результат отображался правильно, но модифицированное шоу показывает Статус: ОШИБКА
Вот ответ Retrofit в андроид студии: