通过 RESTful CXF 使用多部分/表单数据

2023-11-21

我一直在一个 Web 服务中工作,该服务使用 Apache CXF 与 Jackson 结合使用和生成 JSON 文件。
但是,该服务的方法之一应该能够保存从移动应用程序上传的图像,该应用程序向我的网络服务发出多部分/表单数据 POST 请求,并且我不知道如何在我的应用程序中处理这种内容类型语境。我们通常创建“Request”和“Response”对象来使用和生成 JSON,但是,恐怕这不适用于这种情况。

这是请求格式:

Content-type: multipart/form-data
"Description": text/plain
"Path": text/plain
"Image": image/jpeg

如何正确消费此类请求并将图片保存到服务器端?


[EDIT]

我设法使用以下方法使用 multipart/form-data:

public returnType savePicture(
                @Multipart(value = "mode", type = "text/plain") String mode,
                @Multipart(value = "type", type = "text/plain") String type,
                @Multipart(value = "path", type = "text/plain") String path
                @Multipart(value = "image", type = "image/jpeg") Attachment image
            ) 
    {

但是,当尝试使用以下 POST 请求时:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name="mode"

T
--AaB03x
content-disposition: form-data; name="type"

M
--AaB03x
content-disposition: form-data; name="path"

c:/img/
--AaB03x
content-disposition: form-data; name="image"; filename="image.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

imgdata
--AaB03x--

我收到以下错误:

javax.ws.rs.BadRequestException:org.apache.cxf.jaxrs.utils.multipart.MultipartReadException:没有带有内容ID的多部分type找到,请求内容类型:multipart/form-data;boundary=AaB03x

当我只消费mode,例如,它工作得很好。它只会中断 2 个或更多参数。知道为什么这是错误的吗?


我以前也遇到过类似的问题。

下面的代码对我有用

@POST
@Consumes("multipart/form-data")
public void yourMethod(<params>) throws Exception {
}

简而言之,我认为@Consumes您缺少的注释。

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

通过 RESTful CXF 使用多部分/表单数据 的相关文章

  • Eclipse 在源代码管理中保存操作

    我们希望找到一种在签入之前执行代码标准的 轻量级 方法 我们真的很喜欢使用 Eclipse 内置的想法保存操作 go to Preferences gt gt Java gt gt Editor gt gt Save Actions 其中有
  • org.apache.sling.api.resource,version=[2.3,3) -- 无法解析

    您好 我无法访问我的项目内容 我已经上传了从 CQ 访问内容所需的所有包 我唯一能看到的是 org apache sling api resource version 2 3 3 无法解析 这是否是异常的原因 如果是 请告诉我如何解决 中Q
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • Java AES 128 加密方式与 openssl 不同

    我们遇到了一种奇怪的情况 即我们在 Java 中使用的加密方法会向 openssl 生成不同的输出 尽管它们在配置上看起来相同 使用相同的键和 IV 文本 敏捷的棕色狐狸跳过了懒狗 加密为 Base64 字符串 openssl A8cMRI
  • JavaFX 中具有自定义内容的 ListView

    How i can make custom ListView with JavaFx for my app I need HBox with image and 2 Labels for each line listView 您可以通过查看
  • REST Web 服务 WSDL? [复制]

    这个问题在这里已经有答案了 我正在实现一个 Web 服务 并且已经实现了 REST 和 SOAP 版本 看看哪个版本适合我的需求 我决定选择 REST 因为它很简单 而且我可能会开发一个 iPhone 应用程序来使用它 我的问题很简单 是否
  • 我可以使用子接口重新编译公共 API 并保持二进制兼容性吗?

    我有一个公共 API 在多个项目中多次使用 public interface Process
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • 在 Netbeans 8 上配置 JBoss EAP 的问题

    我已经下载了 JBoss EAP 7 并正在 Netbeans 8 上配置它 我已经到达向导 实例属性 其中要求从选择框中选择 域 当我打开选择框时 它是空的 没有什么可以选择的 因此 完成 按钮也处于非活动状态 这使得无法完成配置 我通过
  • Calendar.getInstance(TimeZone.getTimeZone("UTC")) 不返回 UTC 时间

    我对得到的结果真的很困惑Calendar getInstance TimeZone getTimeZone UTC 方法调用 它返回 IST 时间 这是我使用的代码 Calendar cal Two Calendar getInstance
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • react-native run-android 失败并出现错误:任务 ':app:dexDebug' 执行失败

    我使用的是 Windows 8 1 和react native cli 1 0 0 and react native 0 31 0 添加后react native maps对于该项目 我运行了命令react native upgrade并给
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • 在 Spring 中重构这个的最佳方法?

    private final ExecutorService executorParsers Executors newFixedThreadPool 10 public void parse List
  • java.lang.NumberFormatException: Invalid int: "3546504756",这个错误是什么意思?

    我正在创建一个 Android 应用程序 并且正在从文本文件中读取一些坐标 我在用着Integer parseInt xCoordinateStringFromFile 将 X 坐标转换为整数 Y 坐标的转换方法相同 当我运行该应用程序时
  • 测试弱引用

    在 Java 中测试弱引用的正确方法是什么 我最初的想法是执行以下操作 public class WeakReferenceTest public class Target private String value public Targe
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • Trie 数据结构 - Java [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库或文档 链接提供了在 java 中实现 Trie 数据结构的更多信息 任何帮助都会很棒 Thanks 你可以阅读Java特里树
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话

随机推荐

  • 传输编码:Windows Phone 中的分块

    我有一个带有 Transfer Encoding chunked 的服务器响应 HTTP 1 1 200 OK Server nginx 1 2 1 Date Mon 18 Feb 2013 08 22 49 GMT Content Typ
  • 如何合并两个不同的 Git 存储库?

    我有两个 Github 存储库 一个存储库位于远程服务器上 另一个存储库位于本地服务器上 它们都有不同文件和文件夹的不同提交历史记录 现在我想合并它们 以便我可以将它们作为一个存储库放在远程服务器上 请帮忙 我寻找了各种解决方案 建议如下
  • JS Promise - 立即从返回 Promise 的函数中检索一些数据

    谁能推荐一种从返回 Promise 的函数中立即检索数据的模式 我的 简化的 示例是 AJAX 预加载器 loadPage index html then displayPage 如果这是下载一个大页面 我希望能够检查正在发生的情况 并可能
  • 有没有办法确定理想的线程数? [复制]

    这个问题在这里已经有答案了 我正在做一个网络爬虫并使用线程来下载页面 我的程序性能的第一个限制因素是带宽 我永远无法下载它可以获得的更多页面 第二件事是我感兴趣的 我使用线程同时下载许多页面 但是当我创建更多线程时 会发生更多的处理器共享
  • R Dataframe 中的级别

    我从 csv 文件导入数据 并附加数据集 我的问题 一个变量是整数形式 有 295 个级别 我需要使用这个变量来创建其他变量 但我不知道如何处理这些级别 这些是什么 我该如何处理它们 当您使用 read table 或 read csv 您
  • 是否可以将动态程序集保存到磁盘?

    最近买了阿延德的书在 Boo 中构建 DSL 购买它 阅读它 太棒了 但是我遇到了一个实现问题 我想看看生成的代码是什么样的 我通常会使用反射器来查看代码 但在这种情况下 程序集是动态的并且仅在内存中 有没有办法将动态程序集保存到磁盘以便我
  • 覆盖路由器并向特定路由添加参数(在使用路径/url 之前)

    我会使用一个简单的管理路由系统 例如现在我有这条路线 welcome ANY ANY ANY acmedemo example index ANY ANY ANY acme demos acmedemo example edit ANY A
  • 如何使用证书而不是密码进行身份验证?

    我正在构建一个小型 C MVC5 应用程序 并准备向其中添加用户安全模块 之前我只是创建了一个会话变量来测试角色 但是 我的安全需求不适合我见过的任何预构建的安全模块 即 SimpleMembership 等 总结一下我的情况和需求 没有密
  • Yii2 DetailView:使用函数的属性值[重复]

    这个问题在这里已经有答案了 当我使用函数获取属性值时出现错误 并且使用 Gridview 可以正常工作 我做错了什么
  • 解决部分链接中的相对重定位

    我注意到使用 r看来 进行部分链接实际上并不能解决任何重定位问题 即使它们可以通过相对寻址来解决 例如 考虑f o and g o with f o含有f 哪个调用g within g o 链接之前 拆卸和重定位均符合预期 部分链接到新文件
  • Python 之禅“显式优于隐式”

    我试图理解 隐式 和 显式 在 Python 上下文中的真正含义 a my understanding is that this is implicit if not a print list is empty my understandi
  • 如何让abap程序暂停?

    出于测试目的 我需要我的 ABAP 程序等待几秒钟 如何才能做到这一点 2个解决方案 1 要么使用等待 秒 WAIT UP TO 42 SECONDS WAIT UP TO 0 5 SECONDS decimals are possible
  • C++0x:在 std::map 中存储任何类型的 std::function

    我试图在地图中存储一组 std function 在 GCC 4 5 下 我想要得到两种东西 存储已传递参数的函数 那么你就拥有了 调用 f 存储不带参数的函数 那么你必须打电话 F 我想我通过类 Command 和 Manager 实现了
  • 使用不同版本的引用DLL

    不知何故 我很幸运 从未遇到过这个问题 尽管我认为这是一个常见问题 我有一个网络项目 我们称之为SomeProject SomeProject有对第三方库的引用 我们称之为SomeThirdParty 版本1 0 SomeProject还有
  • PromiseRejectionEvent是如何触发的?

    我对以下问题感到困惑 defined onunhandledrejection window onunhandledrejection event gt event preventDefault console log catch unha
  • 提交表单后按 Enter 键时会触发 Google 地方自动完成 place_changed 事件

    我已将 Google Maps Javascript API V3 中的 google maps places Autocomplete 添加到基本搜索表单中 我试图找到一种可靠的方法来检测用户是否从自动完成列表中选择了某个项目 使用鼠标或
  • zipfile 无法处理某些类型的 zip 数据?

    我在尝试解压缩 zip 文件时遇到了这个问题 zipfile is zipfile my file 总是返回 False 即使 UNIX 命令 unzip 可以很好地处理它 另外 当尝试做zipfile ZipFile path file
  • 检查返回 int 的函数时出错

    如果我有一个返回某种指针的函数 我会通过将错误返回设置为 NULL 来检查错误 char foo void If stuff doesn t go okay return NULL char bar foo if bar return 1
  • Visual Studio 监视窗口中的问号 (???) 表示什么?

    我遇到了异常并查看监视窗口中的变量 我看到一些问号 这是否意味着它指向无效地址 这意味着调试器无法计算出它的值 例如 如果您的代码涉及HWNDs 如果你查看 Windows 头文件 它是通过宏定义的 struct HWND int unus
  • 通过 RESTful CXF 使用多部分/表单数据

    我一直在一个 Web 服务中工作 该服务使用 Apache CXF 与 Jackson 结合使用和生成 JSON 文件 但是 该服务的方法之一应该能够保存从移动应用程序上传的图像 该应用程序向我的网络服务发出多部分 表单数据 POST 请求