こんにちは、Spring rest Template を使用して POST API をヒットしていますが、これはまったく問題なく動作しています。
問題は、MockRestServiceServer で使用しているときです。
MockRestServiceServer インスタンスを 1 つ作成しました。
mockServer = MockRestServiceServer.createServer(restTemplate);
予想されるリクエスト URL とレスポンス i,e を追加しました:
mockServer.expect(requestTo(URL)).andExpect(method(HttpMethod.POST))
.andRespond(withSuccess(Response,MediaType.APPLICATION_JSON));
JSONボディで特定のPOST URLをヒットしようとしているとき
{"AppName":{"Value":"Google"}}
次のようにエラーが発生しています
org.springframework.http.converter.HttpMessageNotReadableException:
Could not read JSON: Unexpected character ('A' (code 65)): was expecting double-quote
to start field name at
[Source: java.io.ByteArrayInputStream@5473b9e; line: 1, column: 3];
nested exception is org.codehaus.jackson.JsonParseException: Unexpected character
('A' (code 65)): was expecting double-quote to start field name at
[Source: java.io.ByteArrayInputStream@5473b9e; line: 1, column: 3] at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.readInternal
(MappingJacksonHttpMessageConverter.java:127) ~[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:153) ~[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:81) ~[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:446) ~[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:401) ~[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]
at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:279) ~[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]
誰でも私を助けることができます