您能否指出我的文章或解释我如何声明使用 JSON 请求并基于 JSON 中的参数生成不同格式的输出的 RESTful Web 服务,这意味着客户可以获取 JSON 格式的输出,但也可以获取 pdf 格式的输出。我在 JBoss 5.1 上使用 Java 和 RestEasy。
问问题
4079 次
2 回答
3
您可以将请求映射到返回 RestEasyResponse
对象的方法上,使用 aResponseBuilder
来构建响应,根据 JSON 中的参数动态设置响应的 mime 类型。
@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();
}
这样,如果MyObject
代表传入 JSON 的域对象的参数xml
设置为 true,则该Response
对象被参数化为产生,text/xml
否则它产生application/json
。RestEasy 应该做剩下的事情。
于 2012-08-27T09:46:54.117 回答
0
你可以使用这种方式
@Path("/")
public class Test {
@Path("/test")
@POST
@Consumes("application/json")
@Produces("text/plain")
public Response addOrderJSON(OrderDetails details) {...}
}
于 2012-08-27T09:44:43.010 回答