ResponseEntity 返回可选

ResponseEntity returning an Optional

有人告诉我应该在我的控制器中重构此方法的 return 类型,这样它就不会 return 一个通用的 :

@GetMapping(value = "/{id}")
    public ResponseEntity<?> getById(@PathVariable Long id) {
        return myService.getById(id).map(ResponseEntity::ok).orElse(new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
    }

myService.getById returns an Optional<DestinyDTO>,我对 return a ResponseEntity<Optional<DestinyDTO>> 是否正确感到困惑。如果是这样,我如何替换 <?> return 类型以匹配我的服务方法 getById 中的实际 return 类型。

希望我解释了自己。感谢任何帮助

你可以returnResponseEntity<DestinyDTO>

您的实体的回复应该更明确。

如果您的响应实体是这样的ResponseEntity<?>,您就在声明您可以return任何类型的数据。

但是如果你return像这样ResponseEntity<User>你声明你的回应有一个明确的数据,这有很大帮助,因为你指定你的实体将回应任何消费你的API,如果您使用 Swagger,它将被明确记录,而不是简单的 ?.