gpt4 book ai didi

java - 如何为@ResponseStatus 创建分支结果

转载 作者:行者123 更新时间:2023-11-30 06:40:50 27 4
gpt4 key购买 nike

使用@ResponseStatus 允许在 Spring 中设置 Rest 响应的状态。但是,这如何用于可能来自同一请求的不同类型的状态呢?

例如, Controller 中有一个方法可能会返回 200 或 404。我如何仅在一个方法中使用 @ResponseStatus 来定义这些状态?

最佳答案

通常您不会使用 @ResponseStatus 执行此操作.相反,您可以使用 ResponseEntity<...>作为方法的返回类型。如果退回项目的“类型”可以更改,ResponseEntity<?>ResponseEntity<Object>也有效。

例如:

@GetMapping("/{key}")
public ResponseEntity<Thing> getThing(final @PathVariable String key) {
final Thing theThing = this.thingService.get(key);

final ResponseEntity<?> response;
if (theThing.someProperty()) {
response = ResponseEntity.ok(theThing);
} else {
response = ResponseEntity.status(HttpStatus.NOT_MODIFIED).body(null);
}

return response;
}

关于java - 如何为@ResponseStatus 创建分支结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com