Мой сервер не принимает данные JSON, которые я отправляю через retrofit2 - PullRequest
0 голосов
/ 25 июня 2019

Я отправляю данные JSON на сервер.

Я пытаюсь опубликовать данные json, используя retrofit2, но получаю неожиданную фатальную ошибку.

JSONдолжен выглядеть так:

{
   "lab_details":[
      {
         "floor":1,
         "lab_name":"Lab-1",
         "lab_capacity":100,
         "lab_switch_count":2,
         "ecid":306
      },
      {
         "floor":2,
         "lab_name":"Lab-2",
         "lab_capacity":230,
         "lab_switch_count":3,
         "ecid":306
      },
      {
         "floor":2,
         "lab_name":"Lab-3(Computer Lab)",
         "lab_capacity":300,
         "lab_switch_count":5,
         "ecid":306
      }
   ]
}

Вызов API активности выглядит так:

plda.setLab_details(pldArray);
Gson gson = new Gson();
final String s = gson.toJson(plda);
System.out.println("after string " + s);
postLabDetailsApiClass.getLab().labcall(s).enqueue(new Callback < postLabDetailsResponsePojo > () {
   @Override
   public void onResponse(Call < postLabDetailsResponsePojo > call, Response < postLabDetailsResponsePojo > response) {
    Log.d("Req", s.toString());
    Log.d("Responses", response.body().toString());
   }

Сервер не принимает JSON

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ecava_proto1, PID: 19308
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.ecava_proto1.postLabDetailsResponsePojo.toString()' on a null object reference

1 Ответ

0 голосов
/ 25 июня 2019

response.body().toString() вызывает NullPointerException, поскольку response.body() выглядит как null. Возможно, ваш ответ сервера не имеет тела. Вы упомянули, что пытаетесь опубликовать этот JSON на сервере, что означает, что это часть запроса, а не ответ .

...