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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

驗證 Java LocalDate 是否匹配 yyyy-MM-dd 格式和可讀消息

驗證 Java LocalDate 是否匹配 yyyy-MM-dd 格式和可讀消息

繁花不似錦 2023-05-17 14:30:30
我在 DoB 的 POJO 類中有以下屬性。@NotNull(message = "dateOfBirth is required")@JsonDeserialize(using = LocalDateDeserializer.class)LocalDate dateOfBirth;我該如何驗證用戶正在發(fā)送有效的日期格式(僅接受 YYYY-MM-DD)如果用戶輸入的日期不正確,我想發(fā)送自定義消息或更具可讀性的消息。目前,如果用戶輸入無效日期,則應用程序會發(fā)送以下長錯誤 -JSON parse error: Cannot deserialize value of type `java.time.LocalDate` from String \"1984-33-12\": Failed to deserialize java.time.LocalDate:(java.time.format.DateTimeParseException) Text '1984-33-12' could not be parsed: Invalid value for MonthOfYear (valid values 1 - 12): 33; ...
查看完整描述

3 回答

?
MMTTMM

TA貢獻1869條經(jīng)驗 獲得超4個贊

您可以使用此注釋:

@JsonFormat(pattern?=?"YYYY-MM-DD")

您可以在此處進一步閱讀有關(guān)驗證日期格式時自定義錯誤消息的信息:?自定義錯誤消息


查看完整回答
反對 回復 2023-05-17
?
梵蒂岡之花

TA貢獻1900條經(jīng)驗 獲得超5個贊

您應該創(chuàng)建自定義反序列化器,覆蓋反序列化方法以拋出自定義錯誤并在@JsonDeserialize 中使用它


public class CustomDateDeserializer

        extends StdDeserializer<LocalDate> {


    private static DateTimeFormatter formatter

            = DateTimeFormatter.ofPattern("YYYY-MM-DD");


    public CustomDateDeserializer() {

        this(null);

    }


    public CustomDateDeserializer(Class<?> vc) {

        super(vc);

    }


    @Override

    public LocalDate deserialize(

            JsonParser jsonparser, DeserializationContext context)

            throws IOException {


        String date = jsonparser.getText();

        try {

            return LocalDate.parse(date, formatter);

        } catch (DateTimeParseException e) {

            throw new RuntimeException("Your custom exception");

        }

    }

}

用它:


@JsonDeserialize(using = CustomDateDeserializer.class)

LocalDate dateOfBirth;


查看完整回答
反對 回復 2023-05-17
?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

像這樣的東西。


@Column(name = "date_of_birth")

@DateTimeFormat(iso = DateTimeFormatter.ISO_LOCAL_DATE)

@JsonFormat(pattern = "YYYY-MM-dd")

private LocalDateTime dateOfBirth;

DateTimeFormatter Java 文檔


https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html


查看完整回答
反對 回復 2023-05-17
  • 3 回答
  • 0 關(guān)注
  • 364 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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