第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

java 使用可完成的 Future 發(fā)送異常

java 使用可完成的 Future 發(fā)送異常

qq_笑_17 2023-08-23 14:55:28
如果 CompletableFuture 代碼中的字段為空,我必須發(fā)送異常: public CompletableFuture<ChildDTO> findChild(@NotEmpty String id) {            return ChildRepository.findAsyncById(id)                    .thenApply(optionalChild -> optionalChild                            .map(Child -> ObjectMapperUtils.map(Child, ChildDTO.class))                            .orElseThrow(CurrentDataNotFoundException::new)); }這個(gè)想法是,如果孩子的字段為空,在這種情況下,我必須拋出一個(gè)自定義異常,我不太確定如何實(shí)現(xiàn)這一點(diǎn)。我的想法是使用 thenAccept 方法并發(fā)送異常,如下所示:public CompletableFuture<ChildDTO> findChild(@NotEmpty String id) {                return ChildRepository.findAsyncById(id)                        .thenApply(optionalChild -> optionalChild                                .map(Child -> ObjectMapperUtils.map(Child, ChildDTO.class))                                .orElseThrow(CurrentDataNotFoundException::new))     }.thenAccept{            ........................     }   ObjectMapperUtils Code:    public static <S, D> D map(final S entityToMap, Class<D> expectedClass) {        return modelMapper.map(entityToMap, expectedClass);    }public class ChildDTO {    @NotEmpty    private String id;    @PassengerIdConstraint    private String ownerId;    @NotEmpty    private String firstName;    @NotEmpty    private String lastName;    private String nickName;    @ChildAgeConstraint    private Integer age;    @NotNull    private Gender gender;    @NotEmpty    private String language;我必須評(píng)估數(shù)據(jù)庫(kù)中的lastName 是否為空,我必須拋出異常。有任何想法嗎?
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

我的下面的方法是假設(shè)findAsyncById方法 returns CompletableFuture<Optional<ChildDTO>>。所以你可以使用過(guò)濾器檢查lastName是否為空,如果為空則拋出異常orElseThrow


public CompletableFuture<ChildDTO> findChild(@NotEmpty String id) {

            return ChildRepository.findAsyncById(id)

                    .thenApply(optionalChild -> optionalChild

                            .map(Child -> ObjectMapperUtils.map(Child, ChildDTO.class))

                             // If child last name is empty then return empty optional

                            .filter(child->!child.getLastName())   

                             // If optional is empty then throw exception

                            .orElseThrow(CurrentDataNotFoundException::new))


查看完整回答
反對(duì) 回復(fù) 2023-08-23
  • 1 回答
  • 0 關(guān)注
  • 203 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)