JAX-RS with Jersey:将表单参数传递给 PUT 方法以更新资源

2024-02-27

我必须更新具有名字和姓氏的人员记录。用户应该能够从 html 表单更改它,并在提交时更新它。

这是我的代码。

    @PUT
    @Path("/{userId}")
    public Response updatingResource(@FormParam("firstName") String firstName, @FormParam("lastName ") String lastName , @PathParam("userId") String userId){
        System.out.println(firstName);
        System.out.println(lastName);
        return Response.ok().build();
    }

SOP 语句打印 null。我一直在使用 Mozilla Firefox 的 Poster 插件来发送 PUT 请求。

我也尝试用注释它@Consumes(MediaType.APPLICATION_FORM_URLENCODED)但它仍然为每个值打印 null 。

如何编写和调用接收这三个值的 PUT 方法。我偶然发现很多人要求使用 JSON 或 XML。我如何使用 JSON?如果有人帮助我编写 REST 方法来更新资源,我将非常感激


如果我使用 Firefox 发送 PUT 请求REST客户端 https://addons.mozilla.org/en-US/firefox/addon/restclient/和谷歌的休息客户端 http://code.google.com/p/rest-client/我能够获取表单参数。这个工具都有类似于我放置的主体部分的东西firstName=Amit&lastName=Patel。我还添加了标题Content-Type as application/x-www-form-urlencoded.我认为 Firefox 的Poster https://addons.mozilla.org/en-US/firefox/addon/poster/是越野车。谁能建议我是否有其他方法可以验证代码或者我可以信任前两个 REST 客户端?


除了注释你的方法之外@Consumes(MediaType.APPLICATION_FORM_URLENCODED),您必须发送application/x-www-form-urlencoded作为内容类型。你做了吗?

编辑:您只能将 FormParams 与 POST 一起使用:

SRV.4.1.1 当参数可用时 以下是 在将表单数据填充到之前必须满足的条件 参数设置:

  1. 该请求是HTTP或HTTPS请求。
  2. HTTP 方法是 POST。
  3. 内容类型是 application/x-www-form-urlencoded。
  4. Servlet 已对请求对象上的任何 getParameter 系列方法进行了初始调用。如果不满足条件 并且post表单数据不包含在参数集中,post 数据必须仍然可以通过请求对象的 servlet 使用 输入流。如果满足条件,则不再发布表单数据 可直接从请求对象的输入中读取 溪流。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAX-RS with Jersey:将表单参数传递给 PUT 方法以更新资源 的相关文章

随机推荐

  • 迭代 Makefile 中的目录列表

    我想在多个目录中执行任务 但到目前为止还没有找到 类似 makefile 的解决方案 我知道这是一个经常被问到的问题 并且我知道如何解决子 makfiles 等问题 但我正在寻找更简单的东西 而不是做 copy cd module1 mkd
  • 如果您之前将双精度值初始化为零,则将双精度值与零进行比较是否正确?

    我了解到比较双重使用 这不是一个明智的做法 但是我想知道检查双精度是否已初始化是否危险 例如 知道变量 doubleVar 如果已初始化则不能为零 那么这样做安全吗 Foo Foo doubleVar 0 0 of type double
  • 带有 numpy/ctypes 的环形缓冲区

    我正在开发一个客户端 它将通过 TCP 接收 EEG 数据并将其写入环形缓冲区 我认为将缓冲区作为 ctypes 或 numpy 数组非常方便 因为可以为此类缓冲区的任何位置创建一个 numpy 视图 并读取 写入 处理数据 而无需任何复制
  • 在 Ubuntu 上静态编译 Postgresql

    如何在 Ubuntu 12 04 上从源代码静态编译 Postgres 我已经安装了必要的开发依赖项 包括libreadline dev zlib1g dev and libssl dev 并且可以正常构建 但在尝试静态编译时失败 失败的命
  • 出现类似需要结构类型的错误,但在 Spark scala 中获取简单结构类型的字符串

    这是我的架构 root DataPartition string nullable true TimeStamp string nullable true PeriodId long nullable true FinancialAsRep
  • SQL - varchar 与 int 的性能

    我有一张桌子 上面有一个primary key with varchar数据类型 还有另一张桌子foreign key as varchar数据类型 我正在做一个join使用这对语句varchar数据类型 虽然我处理的行数很少 比如说数百行
  • 阻止滚动条向左推送内容

    我正在设计一个网站 有多个页面使用相同的模板 有些页面比浏览器窗口的高度长 其他页面则不然 较长的内容被向左推了大约 10 像素 这听起来可能不多 但在切换页面时会很明显 因为所有内容都会横向跳跃 我可以做一些 CSS 事情来使每个页面上的
  • Android:应用程序在登录发布模式后启动时崩溃

    目前 我在登录发布模式后启动时面临应用程序崩溃的问题 但在调试模式下它工作得很好 我现在无法弄清楚问题所在 尽管我做了研究并不断寻找解决方案 但我仍然无法使其发挥作用 当应用程序崩溃时 它不会显示在我的应用程序 logcat 中 而是显示在
  • 如何使用 vim 将文件转换为 utf8?

    我有一个文本文件 有人告诉我将其设置为 UTF8 我怎样才能用 Vim 做到这一点 如果您正在编辑编码为 latin1 的文件 您会发现该缓冲区的 fileencoding 设置为 latin1 因此 您需要在保存文件之前手动设置文件编码
  • PHPUnit selenium 不支持 sendKeys?

    我正在写测试sendKeysSelenium IDE 中的命令很好 但是当我更改为 PHPUnit Selenium 时 我收到一个错误 Method sendKeys not defined 所以我想知道的是PHPUnit Seleniu
  • 如何修复“致命错误:接近堆限制的无效标记压缩分配失败 - JavaScript 堆内存不足”错误

    我正在尝试将reactjs应用程序部署到heroku 编译资产时 构建失败并产生以下错误 gt Ruby app detected gt Compiling Ruby Rails gt Using Ruby version ruby 2 5
  • Swift 中的 Something.self 与 self.something

    我明白那个 self something 这是该类的成员值 但什么是 something self 考虑类似的代码 JSONDecoder decode what from myJSONData 我有什么就去哪里what 我们必须告诉解码器
  • 即使用户已登录,FB.getLoginStatus也会返回状态“未知”

    我启用了第三方 cookie 所以这不是问题 我正在使用 google Chrome facebook javascript SDKversion 2 5 当我第一次登录时一切正常 但是当我注销并尝试重新登录时 它会返回status unk
  • 复杂的枢轴和重采样

    我不知道从哪里开始 所以很抱歉我没有尝试 这是我的数据的初始形状 df pd DataFrame Year Mth 1900 01 1901 02 1903 02 1903 03 1903 04 1911 08 1911 09 Catego
  • 如何从铁型聚合物 1 请求中获取响应

    我正在尝试得到回复iron form in Polymer 1 表单提交调用一个 php 脚本 该脚本返回 HTML 代码以插入到div ul还有一些li 我用iron form event iron form response 但我不知道
  • 使用存储在另一个列表中的索引追加到列表

    符合这个问题 https stackoverflow com questions 29290768 access element in list using indexes stored in another list 我正在寻找一种将元素
  • Mailchimp 代码使两个按钮彼此相邻

    我不是最懂代码的人 所以很想得到这方面的帮助 经过一些研究后 我使用其代码选项在 Mailchimp 上创建了两个相邻的按钮 然而 这些按钮看起来是连在一起的 我无法在它们之间留出空间 很想知道您可能有的任何解决方案 这是我的代码 tabl
  • 是否有 O(n^2) 算法来生成数组的所有子序列?

    我想知道是否有任何 O n 2 复杂度算法来生成数组的所有子序列 我知道一个算法 但需要 O 2 n n 时间 int main int n cin gt gt n vector
  • 如何运行Hbase Java示例?

    我在运行简单的 Hbase 示例时遇到问题 我在 HbaseTest java 上创建了一个表并插入了一些记录 在Unix中 我可以编译java类 经过 javac classpath hbase 0 94 2 jar hadoop cor
  • JAX-RS with Jersey:将表单参数传递给 PUT 方法以更新资源

    我必须更新具有名字和姓氏的人员记录 用户应该能够从 html 表单更改它 并在提交时更新它 这是我的代码 PUT Path userId public Response updatingResource FormParam firstNam