我正在编写一个使用RESTful服务的客户端。我需要以键,值对的形式发送请求,他们建议我为此使用Map。我正在调用的RESTful服务将仅接受JSON,而我的客户端将使用Java。实际上,它将成为现有企业EJB项目的一部分。
我已经编写了一个客户端,并且能够成功调用RESTful服务。实际上,如果我以String(JSON格式)发送请求,那么我什至会得到响应。但是我想避免将Map转换为JSON格式的字符串然后在Request中发送出去的手动工作。
我已经将Content-Type设置为application / json并创建了一个包含KeyValue对的Map。
客户端代码段:
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add(MyConstants.JWT_AUTH_TOK, restUtil.getJWTToken());
restTemplate = new RestTemplate();
ModelReqVO modVO = new ModelReqVO();
Map<String, String> dataMap = new HashMap<String, String>();
//Setting key,value into datamap (e.g. "key1", "value1")
modVO.setDataMap(dataMap);
ResponseEntity<ModelRspnsVO> result = restTemplate.postForEntity(mySrvcFN, new HttpEntity(modVO, headers), ModelRspnsVO.class);
请求(ModelReqVO)类:
public class ModelReqVO {
private HashMap<String, String> dataMap;
ModelReqVO() {
this.dataMap = new HashMap<String, String>();
}
//getter and setter generated
}
这是我得到的例外-
RestClientException: Could not write request: no suitable HttpMessageConverter found for request type [com.mycomp.myproj.ModelReqVO] and content type [application/json].
我检查了restTemplate上的HttpMessageConverters,并找到了MappingJacksonHttpMessageConverter。使用该转换器的代码中还需要我做些其他事情吗?
我在Spring.io论坛上找到了几个示例,但它们与需要www /
form内容而不是JSON的服务有关。令人惊讶的是,我找不到有关使用特定转换器将Map作为JSON发送的任何详细信息。
注意:这些代码段可能存在编译错误,我已经从手机中键入了代码。出于安全原因,我无法在我编写的机器上使用Internet。
该错误消息说,没有适当HttpMessageConverter
的请求类型找到,因此只需添加MappingJackson2HttpMessageConverter
与MediaType
以RestTemplate
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
coverter.setSupportedMediaTypes(Arrays.asList(MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON);
restTemplate.getMessageConverters().add(0, converter)
我正在编写一个客户端来使用RESTful服务。我被要求发送键,值对的请求,他们建议我为此使用地图。我调用的RESTful服务只接受JSON,我的客户端将Java。它实际上是现有企业EJB项目的一部分。 我已经编写了一个客户端,并且能够成功调用RESTful服务。事实上,如果我以字符串(JSON格式)发送请求,那么我甚至会得到一个响应。但我希望避免将映射转换为JSON格式字符串,然后在请求中发送出去
使用curl命令: 我收到一个JSON响应: 我把响应保存在一个txt文件里然后用jackson解析一切正常 我假设我应该使用RestTemplate得到相同的结果,但事实并非如此 我得到了一个错误 我尝试设置contentType: 但后来我发现了一个编译错误 我还尝试在Jackson消息转换器中添加一个 但是后来我得到了这个错误: 我还尝试添加了这个类 但是我得到了错误:
我想实现使用Spring Cloud的客户端请求。我试过这个: 外国客户: 请求DTO: 控制器: 外型: 但是当我发出POST请求时,我得到了例外: 你知道我怎样才能解决这个问题吗?
我正在写一个Springmvc应用程序(Spring新手),它必须调用Rest服务。我有其余的服务部署在我的VM(weblogic 10.3.6在Linux)和我写的应用程序是在我的本地笔记本电脑weblogic(10.3.6在Windows 8.1)。 当我尝试调用rest服务时,restservice应用程序的请求正常,但响应失败,并显示以下消息 我正在初始化控制器中的其余客户端 在实际的客户
我正在打一个服务来查找一个人的详细信息,响应是xml格式的,如下所示: 我正在使用Spring RestTempate并将响应映射到以下POJO, 我使用rest模板调用服务, 但我一直得到异常,org.springframework.web.client.RestClientExcture:无法提取响应:没有找到适合的HttpMessageConzer响应类型[类[Lcom.cdk.datalo
我试图发送一个POST请求到REST服务使用REST模板,但得到下面的错误 RestClientException:无法写入请求:找不到适合请求类型[xxx.query.XBrainQueryRequest]和内容类型[application/json]的HttpMessageConverter。 我的XBrainQueryRequest课程如下 有人能解释我为什么会出错以及如何解决它吗?我对这些