Я развертываю приложение Springboot 2.1.7 в качестве войны на wlp-javaee8-18.0.0.4 и получаю 406 httpstatus при вызове моей конечной точки отдыха от почтальона
Мой сервис:
@PostMapping(path = "/authentication/schema", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> hello(@RequestHeader("key") String key) {
HttpHeaders headers = new HttpHeaders();
headers.add("X-KEY", schemaPair.getValue());
headers.SetContentType(MediaType.APPLICATION_JSON);
return new ResponseEntity<>("hello", headers, HttpStatus.OK);
}
От почтальона я указываю ContentType и Accept заголовки следующим образом: - Content-Type: application / json - Accept: application / json
Я также пробовал: - Content-Type: / -Примите: /
Отладка Springboot показывает, что проблемы связаны с сервлетом Java. Чтобы быть точным, это здесь:
package org.springframework.http.server;
import javax.servlet.http.HttpServletResponse;
public class ServletServerHttpResponse implements ServerHttpResponse {
private final HttpServletResponse servletResponse;
// after code
@Override
@Nullable
public String getFirst(String headerName) {
String value = servletResponse.getHeader(headerName); // problem here
/*
* this method servletResponse.getHeader(headerName)
* returns text/html while my contenttype is application/json
*/
if (value != null) {
return value;
}
else {
return super.getFirst(headerName);
}
}
// after code
}
Любая идея, пожалуйста
Большое спасибо