我正在使用 Resteasy 2.2.1.GA
,我必须调用一些服务。
如果我使用 body
方法调用服务,并且请求消息包含 &
,则服务会响应错误。我尝试设置 x-www-form-urlencoded 内容类型,但解决方案不起作用。
如果我使用另一个客户端(例如使用 Postman
(Chrome 插件))调用该服务,该服务会成功响应。
如何像 postman 插件一样设置x-www-form-urlencoded
?
下面是我的代码:
> ClientRequest request = new ClientRequest(url);
> request.accept(MediaType.APPLICATION_JSON_TYPE);
> request.accept(MediaType.APPLICATION_FORM_URLENCODED_TYPE);
> request.body(MediaType.APPLICATION_FORM_URLENCODED_TYPE ,jsonRequest);
> response = request.post(String.class);
> String jsonResponse = response.getEntity();
最佳答案
我已经解决了使用消息的 url 编码器:
request.body(MediaType.APPLICATION_FORM_URLENCODED_TYPE ,URLEncoder.encode(jsonResponse,"UTF-8"));
谢谢,再见。
关于java - Resteasy 设置表单 url 编码 x-www-form-urlencoded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26124919/