Get方法返回XML和JSON

时间:2013-03-16 09:44:34

标签: java xml json rest get

如果我这样做:

@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"})

我该怎么做?

1 个答案:

答案 0 :(得分:2)

我不确定你在这里使用什么框架,但这并不特别重要 - 你不能在同一个请求中返回两种格式(以合理的方式)。对于给定的响应,Content-Type标头只存在一次,因此它不能同时为application/jsonapplication/xml

这里常见的习惯用法是允许GET参数,该参数指定客户端希望返回数据的格式 - ala http://example.com/path/to/rest/data?type=JSONhttp://example.com/path/to/rest/data?type=XML