作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
返回休息服务方法值的最佳方式是什么? 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/
我是一名优秀的程序员,十分优秀!