我是REST的新手。我写了一个小的REST资源,每当我尝试从POSTMAN调用REST服务时,我都会得到一个空的响应{}和状态码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();
}
请帮助。为什么在尝试返回响应对象J时得到{}的提示?
答案 0 :(得分:0)
我将使用域对象而不是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);
}