【发布时间】:2017-11-21 10:02:09
【问题描述】:
我想返回一个204 no content http 状态码。虽然我想添加一个自定义错误消息,提供详细信息为什么没有内容。
问题:我使用的是spring-mvc,当返回HttpStatus.NO_CONTENT 类型时,响应正文总是被删除并且客户端为空!
@RestControllerAdvice
public class ExeptionHandler {
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.NO_CONTENT)
public Object handler(HttpServletRequest req, Exception e) {
return new ResponseEntity<String>(e.getMessage(), HttpStatus.NO_CONTENT);
}
}
如果我将类型更改为 HttpStatus.NOT_FOUND,则错误消息将显示为响应正文。
我怎样才能用 204 达到同样的效果?
【问题讨论】:
-
您可以在cookie中设置您的值并在客户端从cookie中读取。
-
2xx 状态码表示成功,因此应该完全没有错误消息。您想用“错误”消息或建议进行响应,这意味着 4xx 可能是更有效的响应,因为这些是客户端错误。
标签: java spring spring-mvc httpresponse