inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

유효성 체크를 위한 Validation API 사용

Size 어노테이션이 작동을 안하는 것 같은데 어떤 것을 체크해야하나요?

1990

차가운물

작성한 질문수 10

2

소스

디펜던시

컨트롤러 소스

포스트맨

@Size 어노테이션이 없어서 ctrl+enter를 쳐서 자동으로 디펜던시 추가 후 임포트 했습니다.

post요청으로 이름을 한 글자를 보내도 201번 응답이 옵니다.

어떤 부분을 디버깅해야 하나요? 

rest-api spring-boot

답변 4

6

Dongbin Im

윗분 링크 참고 해서 아래만 폼에 붙여서 201만 나오는 문제 해결 했습니다. 감사합니다~

<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.7.Final</version>
</dependency>

0

hellopangx2

전 스프링 부트 2.5.7 인데요.

댓글 쓰신분이 공유해주신대로 dependency hibernate.validator 1개 추가했고

400 BAD_REQUEST 적용되었습니다 !

 

-> 참고로, validation-api-2.0.1.Final 등을 연결하면.... Size/Path 가 import 되긴하는데 적용이 되지 않더라고요.

아래와 같은 Message 뜨면서 Hibernate Validater 같은거 추가하라고 뜨네요.

javax.validation.NoProviderFoundException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.

4

CoonZaCCang

저는 2.4.10 버전에서  Size, Past 어노테이션이 

아예 나오지 않았는데요

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation/2.4.10 사이트 참고하여 아래를 pom.xml에 추가하여 해결하였습니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
    <version>2.4.10</version>
</dependency>

0

박영민

감사합니다 덕분에 해결했습니다.

1

yonmo yonmo

Spring 5에서 Bean Validation 2.0 애노테이션으로 검증하기 :: 자바캔(Java Can Do IT) (tistory.com)

1

Dowon Lee

안녕하세요, 이도원입니다. 

올려 주신 코드에서 추가할 내용은 없습니다. 같은 코드로 제가 다시한번 빌드시 제쪽에서는 문제가 발생하지 않았습니다.

@Size annotation은 Spring Boot의 기본 설정에 포함된 라이브러리입니다. 다음과 같이 기본 설정으로 Spring Boot 애플리케이션을 생성해도  javax.validation.constraints.Size; 사용에는 문제가 없습니다. @Size annocation이 없어서 디펜던시에 추가하셨다고 했는데, 새로 추가된 버전과 중복 클래스로 충돌되어 사용할 수 없게 된게 아닌가 싶습니다. 

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

우선 추가하신 dependency를 삭제하시고, 왜 추가되지 않았는지에 대한 문제를 찾아보시는게 좋을 것 같습니다. 

감사합니다.

JPA

0

58

1

jpa dependency를 추가하고 SecurityConfig클래스에서 오류가 납니다.

0

68

1

웹 브라우저 400 bad request

0

71

1

@Size는 되는데 @Past는 안 됩니다.

0

61

1

pdf 자료는 없나요?

0

73

2

locale 정보가 null 이면 무조건 messages_ko.properties이 호출 되는 문제

0

87

2

Swagger 강의, Unable to infer base url 이거 뜨시는 분들 도움되시라고

0

118

1

강의에서나온 화면 피피티

0

158

1

HelloWorldBean 관련 에러

0

183

2

Swagger API 3.x 오류..

0

219

1

java: variable message not initialized in the default constructor 에러는 어찌하면 좋을까요?

1

282

1

현재 GIT에 올리신 소스를 실행해봤습니다.

0

189

2

고양이 소리가 귀엽네요 !!

0

137

2

git에서 소스받고 실습중인데

0

117

1

post가 안되요

0

102

1

한국어 같은 경우 언어코드인 messages_ko.properties 로 생성하는게 더 좋지 않나요?

0

168

2

리턴타입으로서 EntityModel<User> 와 ResponseEntity질문

0

104

1

예외처리쪽 관련 질문있습니다.

0

159

2

엔티티가 바로 응답으로 나가도 되나요??

0

222

2

안녕하세여 Cannot invoke "co.kr.joneconsulting.resfulservice.repository.PostRepository.save(Object)" because "this.postRepository" is null

0

137

2

사용자 등록하고 나서 H2 에서 보면 신규 사용자의 password, ssn 이 null 로 되어 있습니다.

0

140

2

ApplictionContext 질문

0

192

2

롬북이 안먹히는것같아요

0

156

1

인텔리제이에서스프링부트 파일 실행하면

0

240

1