您能否指出我的文章或解释一下如何声明 RESTful Web 服务,该服务使用 JSON 请求并基于 JSON 中的参数生成不同格式的输出,这意味着客户可以获取 JSON 格式的输出,也可以获取 pdf 格式的输出。我在 JBoss 5.1 上使用 Java 和 RestEasy。
最佳答案
您可以将请求映射到返回 RestEasy Response
对象的方法上,使用 ResponseBuilder
构建响应,根据JSON 中的参数。
@POST
@Path("/foo")
@Consumes("application/json")
public Response fooService(MyObject obj) {
MyResponseEntity entity = MyObjectService.retrieveSomethingFrom(obj);
return Response.status(200).entity(entity).type(obj.isXml() ? "text/xml" : "application/json").build();
}
这样,如果表示传入 JSON 的 MyObject
域对象的参数 xml
设置为 true,则 Response
对象将参数化为生成 text/xml
,否则生成 application/json
。 RestEasy 应该完成剩下的工作。
关于java - 使用 JSON 请求并产生不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138753/