【发布时间】:2019-12-23 09:32:37
【问题描述】:
TLDR;如何使用 Spring ResponseEntity 在正文中发送文本消息以及 304 状态代码?
上下文
我正在用 Spring-boot 编写一个 REST API。在某些端点,我想返回:
- 任一状态
200 OK和正文Success, - 或状态
304 NOT MODIFIED与正文Not modified.
我的端点以下列方式使用 ResponseEntity(在 kotlin 中):
@PutMapping("/test")
fun modifyStuff(): ResponseEntity<String> {
if (someCondition)
// "not modified" not sent in the body
return ResponseEntity("not modified", HttpStatus.NOT_MODIFIED)
// using OK, it works
return ResponseEntity("success", HttpStatus.OK)
}
问题
每当我创建一个状态码为 != 200 的 ResponseEntity 时,都不会发送正文(空正文)。将HttpStatus 更改为OK 会使消息再次显示...我不想为未修改创建错误处理程序,因为这绝对不是错误。
【问题讨论】:
-
每个Http specification 304 响应不应有正文。
标签: spring spring-boot kotlin