java - 使用 JSON 请求并产生不同的输出

标签 java json rest restful-url

您能否指出我的文章或解释一下如何声明 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/

相关文章:

java - 如何从 jsp 文件中模型的特定列打​​印 java arrayList 的值

php - 使用 PHP 创建 JSON 数据并使用 jQuery 解析它

c# - 我的 workspace setting.json for unity on VSCode 表示 'end of file' 预期在 files.exclude 之后

javascript - 将内容添加到选取框间隔

php - Yii2:Restful API 创建和更新关系

javascript - 在 cujojs rest.js 上中止 Xhr

java - SpringMVC 通过页面重定向返回验证错误

java - 来自 joda-time DateTimeFormatter 的模式字符串?

java - 匹配斜杠的正则表达式不起作用

rest - Xamarin 使用 MVVM 将数据传递和检查到其他 View