如何在 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 消息正文? 的相关文章

  • 如何让Spring RabbitMQ创建一个新的队列?

    根据我对rabbit mq的 有限 经验 如果您为尚不存在的队列创建新的侦听器 则会自动创建该队列 我正在尝试将 Spring AMQP 项目与rabbit mq 一起使用来设置侦听器 但出现错误 这是我的 xml 配置
  • JavaFX Platform.runLater 的使用以及从不同线程访问 UI

    我有几个问题Platform runLater 我有一个 JavaFX 应用程序类 在这个类中 我运行一个线程 该线程从网络套接字读取数据 现在当我创建一个新的Stage在线程内部 系统抛出异常 JavaFX 事件调度程序线程和我的网络读取
  • 在Java中清空数组/处理

    除了循环遍历数组中的每个元素并将每个元素设置为 null 之外 Java 处理中是否有一个本机函数可以简单地清空数组 或销毁它 以便能够将其重新声明为新数组 There s Arrays fill myArray null 并不是说它执行的
  • 线程“main”java.lang.UnsatisfiedLinkError中出现异常:java.library.path中没有opencv_java249

    我目前正在尝试在我的 32 位笔记本电脑上设置 OpenCV 但我不断收到一条令我困惑的错误消息 Exception in thread main java lang UnsatisfiedLinkError no opencv java2
  • 使用 jpql 和 jpa 从日期字段中提取年份

    我想从数据库中的一行中提取年份部分 以便将其与值进行比较 这是我的功能 public List
  • 无法实例化接收器 com.parse.GcmBroadcastReceiver

    我正在编写一个使用 GCM 通知和解析推送的离子应用程序 这个应用程序正在使用这些插件 com ionic keyboard 1 0 3 Keyboard com phonegap plugins PushPlugin 2 4 0 Push
  • 使用除 SINGLE_TABLE 之外的任何其他 Hibernate 继承策略时 JVM 崩溃

    好吧 这可能不太可能 但还是这样吧 在Java JRE 1 6 0 26 b03 中我有两个类 SuperControl及其子类SubControl 它们都需要是持久对象 我正在使用 Hibernate Annotations 来实现这一点
  • BigQuery 如何获取 JSON 结构中的值的总和?

    我有以下查询 SELECT JSON EXTRACT json Weights as weight from select Weights blue 1 0 purple 0 0 yellow 1 0 green 1 0 as json 返
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • 如何制作无限的jscrollpane?

    我之前已经实现过拖动滚动 但是创建无限滚动窗格的最佳方法是什么 当然不会有任何滚动条 我将实现拖动滚动 我想做的是在无限表面上实现动态加载 EDIT 当然 它实际上不会是无限的 我想问如何伪造它 您可以执行以下操作 AdjustmentCl
  • Java元数据读写

    是否可以以通用方式 对于所有图像类型 在 Java 中读取和写入元数据 我找到了一些示例 但它们总是特定的 例如 JPEG 或 PNG 我需要一些足够通用的东西 而不是到处都有 if else 语句 我不想重写源代码 但这是一个很好的例子
  • 如何从 Google Custom Search API 获取超过 100 个结果

    我正在尝试使用 Google Custom Search API 在 Java 中进行研究 因此 我需要为每个查询提供一个大的结果集 然而 我似乎仅限于前 100 个结果 这比我需要的要少得多 我使用这样的列表方法 list setStar
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • 如何使用 Guava 连接字符串?

    我写了一些代码来连接字符串 String inputFile for String inputLine list inputFile inputLine trim 但我不能使用 连接 所以我决定使用 Guava 所以我需要使用Joiner
  • HTTP PUT 在 Java 中上传文件

    Edit 我想我已经弄清楚如何执行二进制数据部分 仔细检查代码 但我很确定我做对了 现在 当我尝试按照中所述完成上传时遇到新错误Vimeo API 文档 http vimeo com api docs upload streaming Ed
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub
  • 读/写带有特殊字符的.txt文件

    I open Notepad Windows 并写 Some lines with special characters Special 并前往另存为 someFile txt 与Encoding set to UTF 8 在Java中我有
  • Google Cloud Messaging - 立即收到或长时间延迟收到的消息

    我在大学最后一年的项目中使用谷歌云消息传递 一切正常 但我在使用 GCM 时遇到了一些麻烦 通常 消息要么几乎立即传递 要么有很大的延迟 我读过这篇文章 但我真的认为它不适用于这种情况 GCM 通常会在消息发送后立即传送消息 然而 这并不总
  • H2 - (相当)长的 INSERT 失败,错误 42000

    H2 内存中 插入 错误 42000 尝试过版本 1 4 196 1 4 197 1 4 199 我还尝试在 H2 服务器 本地 上执行 INSERT 也失败 给出错误的行 抱歉 但出于安全原因 我无法生成更多 INSERT INTO tb
  • 我找不到 IntelliJ 快捷方式

    我使用 vim 一段时间 我知道有一个 intellij vim 插件 我很好奇内置的 IntelliJ 文本导航存在什么 如何打开实时模板来创建模板 如何查看以 tr 开头的现有模板列表 如何进行全局搜索并在当前文档中进行搜索 然后转到下

随机推荐

  • 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