[英]Java RESTful webservice-POST with payload
我輸入的內容是URL和請求有效負載。
說,URL: https://somesresource.com
://somesresource.com有效負載:{userId:“ 4566”}
我得到的輸出是帶有幾個鍵值對的Json。
我嘗試在Rest Console中執行此操作,並且output(Json)看起來不錯。 但是,當我嘗試運行以下程序時,輸出的不是json,而是URL服務器的文件(我想是html)。 如何檢索Json而不是文件?
@Transactional
@RequestMapping(value = "/xxx", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody
String consumer() throws Exception {
String line;
String userId = "12345";
StringBuffer jsonString = new StringBuffer();
URL url = new URL("https://somewebsite/userprofile");
String payload="{\"userId\":\""+sid+"\"}";
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
try {
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
writer.write(payload);
writer.close();
System.out.print(connection.getInputStream().toString());
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
br.close();
connection.disconnect();
}
catch(Exception e) {
}
return jsonString.toString();
}
我認為您在應用程序中缺少轉換器。 我將RestFul Web服務與Spring一起使用,並將MappingJacksonHttpMessageConverter用於JSON的來回轉換。 如果您正在尋找特定的答案,請提供您的配置的更多詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.