在出现错误请求的情况下,缺少javarest调用响应主体



我正在使用任何rest客户端点击下面的url,并且我得到了带有响应体的api Response:400 Bad Request

输入参数

POST http://SOME.IP:8008/equipment_api/F0-03-8C-C3-D3-CC/832
HEADERS
Content-Type application/json
X-RequestID 1234
BODY
{
"items":[{"updateValue":1, "updateKey": "RESETDEV"}],
"sync":"false"
}
Response :400 Bad Request
{
"error": "RESETDEV is not a valid key."
}

但是java简单客户端没有显示响应主体。。下面是java代码。。它只给出400个坏请求。

public static void main(String[] args) {
try {           
String urlParameters = "  {rn" + 
""items":[{"updateValue":"Hi", "updateKey": "RESETDEV"}],rn" + 
""sync":falsern" + 
"}";
URL url = new URL("http://SOME.IP:8008/equipment_api/F0-03-8C-C3-D3-CC/832");
URLConnection conn = url.openConnection();
conn.setRequestProperty("content-type", "application/json");
conn.setRequestProperty("X-RequestID", "1234");         
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());         
writer.write(urlParameters);
writer.flush();         
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = reader.readLine()) != null) {                
System.out.println(line);
}           
writer.close();
reader.close();         
}catch(Exception ex) {          
System.out.println("some error :: "+ex.toString());         
}       
}

尝试使用以下代码

final String uri = "http://SOME.IP:8008/equipment_api/F0-03-8C-C3-D3-CC/832";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders(); 
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); 
HttpEntity<String> entity = new HttpEntity<String>("X-RequestID", "1234");
ResponseEntity<String> result = restTemplate.exchange(uri, HttpMethod.GET, entity, String.class);
System.out.println(result);

用Try Catch包裹。

愿它对您有用。它将工作

public static void main(String[] args) {
try {           
String urlParameters = "  {rn" + 
""items":[{"updateValue":"Hi", "updateKey": 
"RESETDEV"}],rn" + 
""sync":falsern" + 
"}";
URL url = new URL("http:http://SOME.IP:8008/equipment_api/F0-03- 
8C-C3-D3-CC/832");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("X-RequestID", "1234");         
con.setDoOutput(true);
OutputStreamWriter writer = new 
OutputStreamWriter(con.getOutputStream());         
writer.write(urlParameters);
writer.flush();         
String line;
//BufferedReader reader = new BufferedReader(new 
InputStreamReader(con.getInputStream()));
InputStream is = con.getInputStream();
if(con.getResponseCode() >= 200 && 299 <= con.getResponseCode()) {
is = con.getInputStream();
}else {
is = con.getErrorStream();
}
try (BufferedReader br = new BufferedReader(new InputStreamReader(is, 
"utf-8"))) {
while ((line = br.readLine()) != null) {                
System.out.println(line);
}     
}
writer.close();
// br.close();         
}catch(Exception ex) {          
System.out.println("some error :: "+ex.toString());         
}  
} 

最新更新