Ответ REST: {} - PullRequest
       7

Ответ REST: {}

0 голосов
/ 09 мая 2019

Я новичок в REST.Я написал небольшой ресурс REST и всякий раз, когда я пытаюсь вызвать службу REST из POSTMAN, я получаю пустой ответ {} и код состояния 200

Запрос:

http://localhost:8080/demo/managers

@GET
@Path("managers")
@Produces({"application/json"})
public Response getManagers() throws GeneralException, JSONException

{
            JSONArray valueString = COMING_FROM_OTHER_METHOD();
            System.out.println("==== "+valueString.toString());

            return Response.ok(valueString,MediaType.APPLICATION_JSON).build();
          }

Правильное значение, которое я вижу в System.out.println ():

[{"display":"john","id":"003"},{"display":"hansi","id":"004"},{"display":"samy gayle","id":"005"}]

Я хочу получить ответ JSONArray, но каждый раз получаю пустой ответ

{}

Но при изменении кода, как показано ниже, он дает правильный ответ

@GET
@Path("managers")
@Produces({"application/json"})
public String getManagers() throws GeneralException, JSONException

{
            JSONArray valueString = COMING_FROM_OTHER_METHOD();
            System.out.println("==== "+valueString.toString());

            return valueString.toString();
          }

Пожалуйста, помогите.почему я получаю {} при попытке вернуть объект Response J

1 Ответ

0 голосов
/ 09 мая 2019

Я бы использовал доменные объекты, а не String экземпляры:

class Manager {
  private String id;
  private String display;
  ... setters/getters ...
}

public ResponseEntity<ArrayList<Manager>> getManagers() throws GeneralException {
  ArrayList<Manager> managers = COMING_FROM_OTHER_METHOD();
  return new ResponseEntity<>(managers, HttpStatus.OK);
}
...