[英]Resttemplate url response giving Invalid mime type
我正在調用 url,如下所示,但在響應中我得到了 Invalid mime type "JSON; charset=utf-8": does not contain '/'
@RequestMapping("/")
public String hello(){
HttpHeaders headers = new HttpHeaders();
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://XXXX/Query.ashx");
HttpEntity<?> entity = new HttpEntity<>(headers);
RestTemplate restTemplate = new RestTemplate();
HttpEntity<String> response = restTemplate.exchange(
builder.toUriString(),
HttpMethod.GET,
entity,
String.class);
return response.getBody() ;
}
從 postman 我檢查了 api 的響應標頭,我們得到 Content-Type:JSON; charset=utf-8,我在這里。 如何處理?,我們只想要簡單的 json 響應。
使用“@RestController”注解
@Himanshu 請提供完整的 class 信息,其中包含 class 級別注釋。 除了這個問題之外,您在調用顯示的 api 或 restTemplate.exchange 時是否遇到異常? . 使用完整的堆棧跟蹤更新您的答案以找到它。
我更喜歡使用默認為Json響應的 @GetMapping。 請嘗試一下
您可以使用 RestTemplate 攔截器完全控制請求/響應參數:
public class MimeInterceptor implements ClientHttpRequestInterceptor {
@Override
public ClientHttpResponse intercept(final HttpRequest request, final byte[] body,
final ClientHttpRequestExecution execution) throws IOException {
request.getHeaders().add(HttpHeaders.CONTENT_TYPE, MediaType.<what you want>);
ClientHttpResponse response = execution.execute(request, body);
response.getHeaders().add(HttpHeaders.CONTENT_TYPE, MediaType.<what you want>);
return response;
}
}
在代碼中:
...
RestTemplate restTemplate = new RestTemplate();
restTemplate.setInterceptors(List.of(new MimeInterceptor());
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.