我有以下回傳方法,DemoDTO如果找不到,則回傳例外。
public DemoDTO findShallowByUuid(UUID uuid) {
return demoRepository.findShallowByUuid(uuid)
.orElseThrow(() -> new EntityNotFoundException("Not found"));
}
但是,我想讓該方法回傳可空值DemoDTO而不是拋出錯誤。為此,我將其型別和相關的回傳型別轉換為Optional<DemoDTO>or Optional<T>,但它導致了與相關 DTO 相關的一些問題。在我將建構式引數更新為 后Optional<T>,使用此 DTO 的應用程式的另一部分抱怨。
我不確定轉換為Optional<T>是否是一個好主意。如果這是一個好主意,我應該向DemoDTO?添加另一個建構式?我不確定這是否是一個好的解決方案,因為它還需要對屬性型別進行一些更改。任何的想法?
uj5u.com熱心網友回復:
將我的評論轉化為答案,根據您的要求,這將是最優雅的方式:
public DemoDTO findShallowByUuid(UUID uuid) {
return demoRepository.findShallowByUuid(uuid).orElse(null);
}
但請確保呼叫代碼正確處理null以避免NullPointerExceptions。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/365865.html
