繁体   English   中英

当返回类型为 void 时,为什么 Spring RestController POST 方法返回 200 而不是 204?

[英]Why Spring RestController POST method returns 200 instead of 204 when return type is void?

@PostMapping(path = "/test")
public void save(Map payload) {
    testService.save(payload);
}

Spring RestController 在上述情况下返回 204 而不是 200。 返回类型为无效且没有内容是响应正文。 在没有响应体且处理成功的情况下,返回 204 HTTP 码是惯例。 我想知道为什么 Spring 默认不这样做? 有什么特别的原因吗?

我已经知道如何更改默认状态码,所以这不是问题。

试试这个代码

@PostMapping(path = "/saveAccident")
    ResponseEntity<AccidentDTO> saveAccident(@RequestBody AccidentDTO accidentDTO) {
        return new ResponseEntity<AccidentDTO>(accidentService.saveAccident(accidentDTO), HttpStatus.OK);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM