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,它将被明确记录,而不是简单的 ?.
有人告诉我应该在我的控制器中重构此方法的 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,它将被明确记录,而不是简单的 ?.