当前位置: 首页 > 知识库问答 >
问题:

在Jersey REST客户端中设置内容类型/编码

林英武
2023-03-14

我的示例Jersey客户端代码是

Client client = Client.create();

WebResource resource=client.resource(URL);

resource.accept(javax.ws.rs.core.MediaType.APPLICATION_XML);
resource.type(javax.ws.rs.core.MediaType.APPLICATION_XML);
resource.type("charset=utf-8");
ClientResponse response = resource.post(ClientResponse.class,myReqObj);

我一直在尝试这个代码变体,从上一个星期以来,它是不工作的。在这方面的任何帮助都是高度赞赏的。

共有1个答案

贲宜春
2023-03-14

棘手的部分是,WebResource方法遵循Builder设计模式,因此它返回一个Builder对象,您需要保留该对象,并在调用其他方法设置请求的完整上下文时继续该对象。

当您执行resource.accept时,它返回一些您没有存储的内容,因此在执行resource.type时它将丢失,因此只有您的最后一次调用才会生效。

您通常会在一行中设置所有的标准,但也可以将输出保存在局部变量中。

ClientResponse response = client.resource(URL)
                                .accept(MediaType.APPLICATION_XML)
                                .type(MediaType.APPLICATION_XML)
                                .post(ClientResponse.class,myReqObj);
 类似资料:
  • 我使用Resteasy客户端代理框架与REST API对话。我在代理接口上定义了一些方法,但不幸的是,我有一些与发送http请求时没有正确设置内容类型相关的问题,这给了我一个http 400(错误请求)错误代码,因为远程API期望内容类型头参数是application/json。 下面是它的样子: 有没有办法直接在代理接口级别将“Content-type”标头设置为“application/jso

  • null 当我创建正文部分时,我是否应该显式地设置top mime消息的内容类型,然后设置每个正文部分? 如果是,在上面的例子中它们应该是什么? 对于html建议,对于附件建议,对于内联建议。我正在使用所有这些,那么对于完整的消息和不同的主体部分应该是什么内容类型? 通过上面的代码,我得到了正确的html文本,纯文本,内联图像和附件在正确的地方与James集成的ThunderBird。 因此,我不

  • 问题内容: 因此,我在Struts2中使用freemarker模板来制定我的响应。但是,由于我也尝试使用taconite,因此需要使用“ text / xml”的内容类型发送响应。我似乎找不到使用freemarker指令设置内容类型的方法,而且我对Struts并不精通,无法知道是否有办法通过它来完成。 那么,我应该怎么做呢? 问题答案: 或者您可以在struts.xml中进行设置

  • 自定义成菜单 说明: 1)启用该功能后,直播客户端可以通过自定义菜单的方式加载用户自定义的网页,方便结合自身业务进行交互操作(客户端5.0.0以上版本支持) 问卷设置 说明: 1)在直播管理页面点击 “问卷设置”,启用该功能后,直播客户端可以通过接口请求的方式将用户问卷库中的问卷导入到客户端中使用 2)关于问卷设置的具体功能及使用方法,请参考:问卷接口开发指南 菜单设置 说明: 1)支持对客户端的

  • 我正在全互联网上尝试所有解决方案,但我无法获得它。 我试图连接使用php curl到一个外部API发送json数据,但我不能设置content_type。 答复: 旋度是活动的 数组(26){["url"]= 7. 无法连接到https://example.com端口xxx:连接被拒绝 答复:bool(假) ... 如果我尝试通过SoapUi: HTTP/1.1 200 Vary:Origin V

  • 根据客户端与授权服务器安全地进行身份验证的能力(即维护客户端凭据机密性的能力),OAuth定义了两种客户端类型: 机密客户端 能够维持其凭据机密性(如客户端执行在具有对客户端凭据有限访问权限的安全的服务器上),或者能够使用 其他方式保证客户端身份验证的安全性。 公开客户端 不能够维持其凭据的机密性(如客户端执行在由资源所有者使用的设备上,例如已安装的本地应用程序或基于Web浏览器的应用),且不能通