javascript - 如何从java中的rest服务返回对象?

标签 javascript json rest api jersey

返回休息服务方法值的最佳方式是什么? java 对象、json 字符串还是 Response?

例如,这些示例是使用 api jersey (maven) 实现的:

1)返回java对象(映射到json):

@GET
@Path("/getUser")
@Produces({MediaType.APPLICATION_JSON})
public UserVO getUser() {

    UserVO user = new UserVO();
    user.setValid(true);
    user.setName("Peter");

    return user;
}

2)返回json字符串:

@GET
@Path("/getUser")
public String getUser() {

    UserVO user = new UserVO();
    user.setValid(true);
    user.setName("Peter");

    Gson gson = new Gson();
    String jsonResp = gson.toJson(user);

    return jsonResp;
}

3)返回响应json:

@GET
@Path("/getUser")
public Response getUser() {

    UserVO user = new UserVO();
    user.setValid(true);
    user.setName("Peter");

    Gson gson = new Gson();
    String jsonResp = gson.toJson(user);

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

这三个有什么区别?使用哪个更好?

(考虑到它将被 JavaScript 消耗)

最佳答案

所有三个选项似乎都有效,但我认为第一个选项更加一致,因为您正在使用 API (jersey),并且此 @products 注释是使用该 API 的常见方法。

此外,它不会让您依赖另一个库 GSON,如果不在其他地方使用它,您最终可以将其从类路径中删除。

关于javascript - 如何从java中的rest服务返回对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45403984/

相关文章:

json - minLength 不适用于 JSON 架构中的字符串

javascript - d3.json : "Uncaught TypeError: Cannot read property ' children' of undefined"

php - 防止 php $_REQUEST 转换 json

java - 通过一个网络接口(interface)进行 Http 请求

javascript - $(#cart-continue).click(function) 未被调用

javascript - Javascript RegExp 是否可以在不搜索的情况下匹配精确的字符串偏移量?

python - 使用 Python 的 XML POST REST 请求

rest - Gmail API 批量获得支持?

javascript - 链接到响应式图像背景的特定位置

javascript - jquery如何设置页面元素的宽度