有一個外部服務稱爲當我在RestTemplate通過POST請求發送陣列I收到錯誤400
http://externalServer:9000/pathServer/serviceCalled
作爲輸入參數接收對象的列表此服務。
Request
[
{ "atr1" : "value" },
{ "atr1" : "value" },
{ "atr1" : "value" },
{ "atr1" : "value" }
]
在我的後端我撥打電話到該服務,因爲它不是在我的域名。爲此,我使用Spring的RestTemplate。
我已經使用過這個,但是當我打電話時,它給了我一個400錯誤的請求錯誤。
這是我的代碼。
String jsonValue= "[{ \"atr1\" : \"value\" },{ \"atr1\" : \"value\" },{ \"atr1\" : \"value\" },{ \"atr1\" : \"value\" }]";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<>(jsonValue,headers);
String url = "http://externalServer:9000/pathServer/serviceCalled";
ResponseEntity<String> STRresponse = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
輸出打印到STResponse是
我知道請求是正確的,因爲當我跟郵遞員送它,它工作正常。
我在做什麼錯?
我嘗試但我收到錯誤 org.springframework.http.converter.HttpMessageNotReadableException:無法讀取文檔:無法將java.util.ArrayList的實例反序列化爲START_OBJECT標記 at [Source:[email protected];行:1,列:1];嵌套的例外是com.fasterxml.jackson.databind.JsonMappingException:無法反序列化的java.util.ArrayList的實例進行START_OBJECT令牌 –
的你沒有根據的消息,而不是一個列表 – 2017-06-13 05:14:34
發佈一個對象,但該服務接收列表,即我不能改變它 –