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

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

@NotNull 注釋在 Spring boot 應(yīng)用程序中不起作用

@NotNull 注釋在 Spring boot 應(yīng)用程序中不起作用

慕絲7291255 2023-09-13 16:53:26
下面是我的 DTO 課程。public class AbstractDTO extends BaseDTO {    private Integer createdBy;    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DATE_FORMAT)    @NotNull(message = "createdDate may not be null")    private LocalDateTime createdDate;    private Integer lastModifiedBy;    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DATE_FORMAT)    private LocalDateTime lastModifiedDate;    private Boolean isActive;    // getter & setters}在這里,我嘗試將createdDate字段注釋為@NotNull,但它不起作用。它允許在請(qǐng)求正文中以及在郵遞員中執(zhí)行服務(wù)后不會(huì)收到任何錯(cuò)誤。我嘗試過以下選項(xiàng),但沒有運(yùn)氣。1)嘗試添加maven依賴。<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-validation</artifactId></dependency>2)嘗試將DTO類注釋為@Validated3)嘗試用@NotNull注釋createdDate字段@Valid但仍然不走運(yùn)。請(qǐng)幫我解決這個(gè)問題。
查看完整描述

4 回答

?
動(dòng)漫人物

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

您的 DTO 類是正確的。你必須使用@Valid注釋。


例如 :


@Controller

public class Controller {


    @PostMapping("/")

    public String checkPersonInfo(@Valid AbstractDTO abstractDTO, BindingResult bindingResult) {


        if (bindingResult.hasErrors()) {

            return "some-page";

        }

        return "some-other-page";

    }

}

請(qǐng)參閱此Spring Boot 驗(yàn)證表單輸入示例以供參考。


為什么要使用@Valid注解?


這允許您驗(yàn)證應(yīng)用于類的數(shù)據(jù)成員的約束集。


但是,如果您的項(xiàng)目中有基于 XML 的配置,則必須將其添加到下面給出的applicationContext.xml中。(來(lái)源:這里)


<bean

    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

    <property name="webBindingInitializer">

        <bean

            class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">

            <property name="validator" ref="validator" />

        </bean>

    </property>

</bean> 


    <bean id="validator"

        class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">

    </bean>


查看完整回答
反對(duì) 回復(fù) 2023-09-13
?
湖上湖

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

您有一個(gè)帶有某些請(qǐng)求正文的端點(diǎn),例如;


@RestController

public class TheController {


    @PostMapping(path = "/doSomething", consumes = "application/json", produces = "application/json")

    public void post(@Valid @RequestBody AbstractDTO request) {

        //code

    }

}

您需要@Valid為請(qǐng)求對(duì)象添加注釋。只有這樣,您才能為端點(diǎn)啟用AbstractDTO驗(yàn)證/doSomething。


檢查這里,了解更深入的細(xì)節(jié)


查看完整回答
反對(duì) 回復(fù) 2023-09-13
?
森林海

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

你有正確的進(jìn)口嗎?
我用import javax.validation.constraints.NotNull;

查看完整回答
反對(duì) 回復(fù) 2023-09-13
?
鳳凰求蠱

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

描述

  1. 就我而言,我定義 1 個(gè)父類 A 有 3 個(gè)子類 B、C、D,例如:

公共 A { 私有 B bCommand; 私有 C cCommand;私有D dCommand;}

  1. 我為3個(gè)子類中的一些字段注釋了@NotNull、@NotBlank。在控制器中,我為這樣的函數(shù)添加了@Valid:

@PostMapping() public ResponseEntity create(@RequestBody @Valid A
command){ }

解決方案

  1. 我為具有需要檢查約束的字段的子類添加了@Valid。

  2. 示例:B、C 類有一些字段具有非空等約束

公共 A { @Valid private B bCommand; @Valid private C cCommand; 私有D dCommand;}


查看完整回答
反對(duì) 回復(fù) 2023-09-13
  • 4 回答
  • 0 關(guān)注
  • 496 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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