RestTemplate post 요청 상태 코드 415
3143 단어 springbootRestTemplate415
크로스 모듈은post를 통해 지정된 인터페이스를 호출하여 415로 되돌려줍니다.
415 상태 코드 설명:
Unsupported Media Type
현재 요청한 방법과 요청한 자원에 대해 요청에 제출한 실체는 서버에서 지원하는 형식이 아니기 때문에 요청이 거절됨
오류 로그:
org.springframework.web.client.HttpClientErrorException: 415 null atorg.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:86) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:708)
기능 오류 코드와 정상 코드 비교
예외 요청 415:
RestTemplate restTemplate = new RestTemplate();
String url = "http://172.16.17.82/portal/zcm-cmdb/remote/exec";
String cmd = "mkdir -p /tmp/lushuan/test5";
// 1、 415
HttpHeaders headers = new HttpHeaders();
MultiValueMap map= new LinkedMultiValueMap();
map.add("host", "172.16.24.220");
map.add("user", "root");
map.add("cmd", cmd);
HttpEntity> request = new HttpEntity>(map, headers);
Object data = restTemplate.postForObject(url,request,Object.class);
LOGGER.info("TestRestTemplate testInstallCollectdByRemote data = {}", data);
일반 코드 데모 1:
RestTemplate restTemplate = new RestTemplate();
String url = "http://172.16.17.82/portal/zcm-cmdb/remote/exec";
String cmd = "mkdir -p /tmp/lushuan/test6";
Map map = new HashMap<>();
map.put("host","172.16.24.220");
map.put("user","root");
map.put("cmd",cmd);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity
일반 코드 데모 2:
RestTemplate restTemplate = new RestTemplate();
String url = "http://172.16.17.82/portal/zcm-cmdb/remote/exec";
String cmd = "mkdir -p /tmp/lushuan/test7";
Map map = new HashMap<>();
map.put("host","172.16.24.220");
map.put("user","root");
map.put("cmd",cmd);
// ParameterizedTypeReference
ParameterizedTypeReference typeRef = new ParameterizedTypeReference() {
};
JSONObject createDbJsonObject = JSONObject.fromObject(map);
HttpEntity entityPost = new HttpEntity(createDbJsonObject);
ResponseEntity createDbResponse = restTemplate.exchange(url, HttpMethod.POST, entityPost,typeRef);
HttpStatus statusCode = createDbResponse.getStatusCode();
LOGGER.info("TestRestTemplate testInstallCollectdByRemote createDbResponse = {}", createDbResponse);
LOGGER.info("TestRestTemplate testInstallCollectdByRemote statusCode = {}", statusCode);
두 단락 코드의 실현 방식은 모두 가능하다. 두 번째는 되돌아오는 상태 코드, 크로스 필드 여부 등 정보를 얻을 수 있는 것을 추천한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.