从Resttemplate调用时不支持请求方法'PUT'

问题描述 投票:0回答:1

我必须使用Resttemplate调用PUT方法。我可以通过POST Man访问该服务。但是,当我使用Resttemplate从Java尝试相同的请求时,它会抛出错误。我在做什么可能是错误的。

405 : [{"category":"ACCESS","code":"METHOD_NOT_SUPPORTED","description":"Request method 'PUT' not 
supported","httpStatusCode":"405"}]

@Autowired
@Qualifier("orderMasterUpdateClient")
private RestTemplate orderMasterUpdateClient; // Loading the template with credentials and URL

ResponseEntity<SalesOrderDocument> responseEntity = orderMasterUpdateClient.exchange(
                URL,
                HttpMethod.PUT,
                new HttpEntity<>(headers),
                SalesOrderDocument.class, changeRequest);
java rest resttemplate put
1个回答
0
投票

如果要在PUT请求的正文中发送changeRequest对象数据,建议您使用下一个RestTemplate交换方法调用:

String url = "http://host/service";
ChangeRequest changeRequest = new ChangeRequest();
HttpHeaders tempHeaders = new HttpHeaders();
HttpEntity<ChangeRequest> httpEntity = new HttpEntity<>(changeRequest,tempHeaders);

ResponseEntity<ChangeRequest> response = restTemplate
            .exchange(url, HttpMethod.PUT, httpEntity, ChangeRequest.class);
© www.soinside.com 2019 - 2024. All rights reserved.