gpt4 book ai didi

java - 如何指定正确的返回类型?

转载 作者:行者123 更新时间:2023-12-05 09:04:32 24 4
gpt4 key购买 nike

我有一个带有 GET 用户方法的 UserController。

public class UserController {
private final static Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final UserService userService;

public UserController(UserService userService) {
this.userService = userService;
}

@GetMapping
public List<User> getUsers() throws ResourceNotFoundException {
try {
return userService.getUsers();
} catch (Exception e) {
LOGGER.error(e.getMessage());
return ResponseEntity.internalServerError().build();
}
}
}

问题出在返回类型上。因为我要返回用户列表,所以我将其设置为返回类型。但是因为它也可以返回 ResponseEntity ,我的 IDE 提示它。它提供的快速修复是将返回类型设置为 ResponseEntity但随后它会提示这个方法可以返回 List<User> 的事实类型。

enter image description here

enter image description here

如何指定两种可能的返回类型?

最佳答案

你有两个选择:

  • 返回ResponseEntity<E>并使用类似 return ResponseEntity.ok(users) 的东西.
  • 不要在您的方法中捕获异常。相反,使用 @ControllerAdvice集中您的异常处理,以便您在一个地方编写处理代码并一致地应用它。

关于java - 如何指定正确的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68524125/

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