java - Jersey Client 能否自动将 POJO 实体编码为 application/x-www-form-urlencoded,还是我需要编写自定义 MessageBodyWriter?

标签 java web-services rest jersey jax-rs

我正在使用 Jersey 的 Client 调用 RESTful 网络服务与 Jackson 一起处理 JSON 的序列化。我还使用 JSONConfiguration.FEATURE_POJO_MAPPING 设置让 Jackson 自动将我的 POJO 序列化为 JSON。

我将我的 POJO 发送到的远程服务使用 MediaType.APPLICATION_FORM_URLENCODED 并生成 MediaType.APPLICATION_JSON_TYPE

我是否必须创建自己的 MessageBodyWriter 实现来处理 POJO 序列化到 application/x-www-form-urlencoded 中,或者 Jersey 是否提供执行此操作的实现为我使用我的 POJO 注释?

最佳答案

Jersey 不支持将任意 POJO 转换为 application/x-www-form-urlencoded。它可以转换 Form 的实例, 或多值映射。因此,要么您的方法必须返回其中之一,要么您必须编写自己的 MessageBodyWritter。

关于java - Jersey Client 能否自动将 POJO 实体编码为 application/x-www-form-urlencoded,还是我需要编写自定义 MessageBodyWriter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7035293/

相关文章:

python - Django 休息框架。检索的工作原理

java - 在java中,这样的枚举类型编译成什么?

Java JPanel 和 JLabel

java - 使用 Point 类在 Java 中自由手绘

mysql - 横向扩展服务器

java - 如何在javax.ws.rs.client中为客户端重用java中的tcp session

c# - ServiceStack token 身份验证

java - RESTEasy、JAX-RS 只是开发 RESTful Web 服务的工具吗?

java - 为什么 readLine() 没有阻塞?

php - api json响应没有以数组形式出现