如果我这样做:
@GET
@Path("/users")
@Produces("application/json")
public String users()
{
String users = null;
ArrayList<User> userList = new ArrayList<User>();
try {
userList = new UserManager().getUsers();
Gson gson = new Gson();
users = gson.toJson(userList);
} catch (Exception e) {
e.printStackTrace();
}
return users;
}
我的GET方法只是在JSON中重新调整信息。
但是我希望它也能返回XML吗?类似于@Produces({"application/xml", "application/json"})
。
我该怎么做?
答案 0 :(得分:2)
我不确定你在这里使用什么框架,但这并不特别重要 - 你不能在同一个请求中返回两种格式(以合理的方式)。对于给定的响应,Content-Type
标头只存在一次,因此它不能同时为application/json
和application/xml
。
这里常见的习惯用法是允许GET
参数,该参数指定客户端希望返回数据的格式 - ala http://example.com/path/to/rest/data?type=JSON
或http://example.com/path/to/rest/data?type=XML
。