如何在 JAX-RS REST 方法中检索 JSON 消息正文?

2024-01-12

我有以下内容JSON它将作为 HTTP 请求的一部分在消息正文中传递。

{
    "names": [
        {
            "id":"<number>",
            "name":"<string>",
            "type":"<string>",
        }
    ]
}

我现在的REST处理程序如下。我能够获取作为路径参数传入的 Id 和“版本”,但我不确定如何检索消息正文内容?

        @PUT
        @Path("/Id/{Id}/version/{version}/addPerson")
        public Response addPerson(@PathParam("Id") String Id,
                                                @PathParam("version") String version) {

            if (isNull(Id) || isEmpty(version)) {
                return ResponseBuilder.badRequest().build();
            }

            //HOW TO RECIEVE MESSAGE BODY?

            //carry out PUT request and return DTO: code not shown to keep example simple


            if (dto.isSuccess()) {
                return Response.ok().build();
            } else {
                return Response.serverError().build();
            }

}

注意:我正在使用JAX-RS框架。


您只需要将您的名称 json 映射到 POJO 并将 @Consumes 注释添加到您的 put 方法中,下面是一个示例:

@PUT
@Consumes("application/json")
@Path("/Id/{Id}/version/{version}/addPerson")
public Response addPerson(@PathParam("Id") String Id,
                          @PathParam("version") String version,
                          List<NamObj> names) {

我假设您正在尝试检索元素列表,如果不是这种情况,只需在参数中使用 POJO 即可。

根据您在服务器中使用的 json 库,您可能需要向 POJO 添加 @xml 注释,以便解析器可以知道如何映射请求,示例 json 的映射应如下所示:

@XmlRootElement
public class NameObj {
   @XmlElement public int id;
   @XmlElement public String name;
   @XmlElement public String type;
}

泽西岛文档:https://jersey.java.net/documentation/latest/user-guide.html#json https://jersey.java.net/documentation/latest/user-guide.html#json

@cosumes参考:http://docs.oracle.com/javaee/6/tutorial/doc/gilik.html#gipyt http://docs.oracle.com/javaee/6/tutorial/doc/gilik.html#gipyt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JAX-RS REST 方法中检索 JSON 消息正文? 的相关文章

随机推荐

  • adobe media server 4 与亚马逊的费用如何?

    有人尝试过在 Amazon Web 服务上使用 Flash Media Server 4 吗 我想知道您的经验是什么以及运行它的成本 This Adobe 文档 http help adobe com en US flashmediaser
  • Android 上的自签名 SSL 接受

    如何在 Android 上接受 Java 自签名证书 代码示例将是完美的 我在互联网上到处查找 虽然有些人声称找到了解决方案 但它要么不起作用 要么没有示例代码来支持它 我在 ExchangeIt 中具有此功能 它通过 WebDav 连接到
  • R 3.6 的 RDCOM 客户端

    我已经从以下位置下载了该软件包https github com omegahat RDCOMClient https github com omegahat RDCOMClient 并按照说明从本地源安装它 如何从下载的 zip 文件安装包
  • Facebook 应用程序请求对话框未发送请求

    我们有一个使用 Facebook 登录的网站 我们有一个邀请页面 显示用户的 Facebook 好友 然后让我们通过 Facebook 邀请他们 invite container a live click function var link
  • 问题:运行 cuckoo.py 时“OSError:/usr/lib/libyara.so:无法打开共享对象文件:没有这样的文件或目录”

    我已经安装了布谷鸟和所有依赖项 并且还使用虚拟框创建了虚拟机 我收到错误 OSError usr lib libyara so cannot open shared object file No such file or directory
  • 如何在 Java 桌面应用程序中使用 Google Drive?

    我正在处理移动和桌面应用程序 我正在尝试使用 Google Drive 作为永久存储文件夹 不幸的是我很茫然 因为我找不到任何例子 有人可以给我举一个从 Google 云端硬盘存储或检索文件的示例吗 我真的很想看到一个简单的代码示例 或者一
  • 如何在 Visual Studio 2012 中分析单元测试?

    是否有可能profileMSTest 单元测试Visual Studio 2012 旗舰版不使用任何外部分析工具 此功能已在即将发布的 Visual Studio 2012 季度更新 1 中重新添加 在测试资源管理器中右键单击要分析的测试
  • 自定义 ASP.NET SqlMembershipProvider - 处理连接字符串

    我正在创建一个自定义 SqlMembershipProvider 类 以向基类添加一些增强功能 不过 我正在忙于处理连接字符串 如何从配置中读取连接字符串名称并使其可供其余方法使用 现在我有 public override void Ini
  • 使用 JavaScript 基于字符串创建十六进制颜色

    我想创建一个函数来接受任何旧字符串 通常是一个单词 并从中somehow生成一个介于之间的十六进制值 000000 and FFFFFF 所以我可以将它用作 HTML 元素的颜色 甚至可能是一个速记的十六进制值 例如 FFF 如果不那么复杂
  • 使用 Mapbox 过滤掉国家/地区

    是否有可能使用 Mapbox 仅显示德国国家边界和内部数据 我不想展示世界其他地方 Thankx Markus 是的 使用德国 GeoJSONhttp code highcharts com mapdata http code highch
  • android usb UsbDeviceConnection.bulkTransfer 返回 -1

    我正在尝试从 Android 平板电脑向 POS 打印机发送命令 我已经能够使基本连接正常工作 但现在当我尝试将数据发送到打印机时 bulkTransfer 返回 1 请帮助我了解发生了什么事 以下是从 android 站点获取的修改后的广
  • 处理不断变化的模式

    我们是一家游戏公司 将事件 每天最多 1 个千兆事件 存储到 bigquery 事件按月份和应用程序进行分片 以降低查询成本 现在来谈谈我们的问题 我们当前的解决方案支持添加新类型的事件 从而产生新版本的表模式 该版本也已添加到表中 I e
  • 哪个最有效:直接通过 nginx 提供静态文件还是通过 nginx 反向代理通过节点提供静态文件?

    我已经使用了nginx as reverse proxy服务我的node js网络应用程序3000 lt gt 80例如 实际上 我在节点应用程序中提供我的资产 使用express static中间件 我读了一遍又一遍 发现 nginx 提
  • Entity Framework 5 中的 Visual Studio 2010 支持 LocalDB 吗?

    NET 4 0 上的实体框架 5 中的 Visual Studio 2010 是否支持 LocalDB 还是我做错了 使用 LocalDB 的连接字符串实例化模型容器时 出现 找不到网络路径 问题 这是连接字符串 var connectio
  • MacOS 上的 Clang 包含问题

    我在 MacOS 上从头开始构建了 Clang 但遇到了问题 使用以下命令来配置 Clang 进行构建 cmake G Unix Makefiles DCMAKE INSTALL PREFIX opt clang 12 DCMAKE BUI
  • MATLAB 滑块步进行为

    我使用 MATLAB 2012a 中的 GUIDE 创建了一个滑块小部件 我希望它控制一个显示图像的轴 其中滑块逐步浏览一系列图像 我已在 m 文件的一部分中设置了滑块的 Min Max 和 SliderStep 属性 sliderMin
  • 如何使用 spacy 查找最常用的单词?

    我正在使用 spacy 和 python 它可以很好地标记每个单词 但我想知道是否有可能找到字符串中最常见的单词 还有可能得到最常见的名词 动词 副词等吗 包含一个 count by 函数 但我似乎无法让它以任何有意义的方式运行 我最近不得
  • Jquery:选择调用该函数的元素

    我通过调用元素本身的函数onclick属性 因为我需要 php 动态地在函数的参数之一中给出一个值 当我尝试通过以下方式引用函数中的调用元素时 this 它最终引用整个窗口而不是元素 我该如何解决 尝试将您的元素作为参数发送到您的函数 如下
  • Laravel 错误:方法 Illuminate\View\View::__toString() 不得引发异常

    你在 Laravel 工作时见过这个可爱的错误吗 Method Illuminate View View toString must not throw an exception 我见过它 这非常烦人 我发现了引发此错误的两个原因 我只是想
  • 如何在 JAX-RS REST 方法中检索 JSON 消息正文?

    我有以下内容JSON它将作为 HTTP 请求的一部分在消息正文中传递 names id