【发布时间】:2018-07-17 05:59:56
【问题描述】:
如果接受标头不是 application/json,我如何在 spring 中验证接受标头并返回自定义消息。目前我正在这样做(如下),但我想知道是否还有另一种方法?
我知道我可以创建自定义异常并根据出现的问题抛出异常,但有其他方法吗?
@GetMapping(value = "/get", produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})
public ResponseEntity<String> get(final HttpEntity<String> httpEntity) {
HttpHeaders responseHeaders = new HttpHeaders();
String acceptString = httpEntity.getHeaders().getFirst("Accept");
if (acceptString == null || acceptString.isEmpty()) {
return new ResponseEntity<String>("empty accept header", HttpStatus.BAD_REQUEST);
}
if ((MediaType.APPLICATION_JSON_VALUE).equalsIgnoreCase(acceptString)) {
responseHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
}
else {
return new ResponseEntity<String>("Not valid accept value", HttpStatus.BAD_REQUEST);
}
....
【问题讨论】:
标签: java spring api http-headers