Модифицированный ответ {протокол = h2, код = 404, сообщение =, URL = https://myurl/api/} - PullRequest
0 голосов
/ 07 октября 2019

Я отправляю запрос, используя retrofit2, но в ответ получаю следующую ошибку

Ответ {протокол = h2, код = 404, сообщение =, URL = https://myurl/api/}

здесь я передаю свой базовый URL для запроса

static final String BASE_URL = "https://myurl/";

вот мой класс контроллера.

private static Retrofit retrofit;

public static Retrofit getClient() {
    if (retrofit == null) {
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }
    return retrofit;
}

вот мой интерфейс. Здесь я передаю тело с параметрами и заголовок, используя карту

public interface AddProductApi {

    @FormUrlEncoded
    @POST("api/")
    Call<BodyOfAddPro> loadChanges(@FieldMap Map<String,String> body, 
@HeaderMap Map<String, String> header);
}

вот моя функция вызова API здесь я передаю параметры, чтобы получить ответ. я получаю ответ об ошибке, который я показал выше.

private void retroApiCall() {

    addProductApi = Controller.getClient().create(AddProductApi.class);

Map<String, String> addproductParams = new HashMap<String,String>();
addproductParams.put("UserID", sharedpreferences.getString("UserID", 
""));
    addproductParams.put("CategoryID", subsubCategoryID);

   addproductParams.put("ProductPrice",productPrice.getText().toString());
   addproductParams.put("DeliveryTime",Time.getText().toString();
   addproductParams.put("ProductType",itemCondition.getText().toString());
   addproductParams.put("OutOfStock", outofStock);
   addproductParams.put("IsActive", "1");


    Log.e("body",addproductParams.toString());

    Map<String, String> header = new HashMap<>();
    header.put("Verifytoken", sharedpreferences.getString("ApiToken",""));

    Log.e("header", header.toString());

    Call<BodyOfAddPro>call1
    =addProductApi.loadChanges(addproductParams,header);
    call1.enqueue(new Callback<BodyOfAddPro>() {
        @Override
        public void onResponse(Call<BodyOfAddPro> call, 
retrofit2.Response<BodyOfAddPro> response) {
            BodyOfAddPro loginResponse = response.body();

            Log.e("retroresponse", "Response 1 --> " + response);

        }

        @Override
        public void onFailure(Call<BodyOfAddPro> call, Throwable t) {
            Log.e("retroresponseerror", "Response 1 --> " + 
t.getMessage());

   }
    });

}

ищет ответ.!

...