2023.08.22 - [backend] - [SpringBoot] 유효성 검증 1 - @Valid 지난 포스팅에서 @Valid를 활용해서 유효성을 검증하는 방법에 대해서 알아보았다. @Valid를 활용해서 유효성 검증을 진행했을 때, 실패하면 MethodArgumentNotValidException가 발생한다는 걸 기억하고, 예외 처리를 진행한다. 너무 긴 ResponseBody 유효성 검증에 실패하면, 다음과 같은 ResponseBody가 날아온다. { "timestamp": "2023-08-22T06:20:23.833+00:00", "status": 400, "error": "Bad Request", "trace": "org.springframework.web.bind.MethodArgumentNo..
@Valid 어노테이션을 통해서 클라이언트 측에서 RequestBody로 넘어온 값들의 유효성을 검증할 수 있다. 1. RequestDto 필드에 어노테이션 추가 먼저 RequestDto에서 유효성 검증 어노테이션을 추가한다. 아래에서 userId에 붙은 @NotBlank는 null, "", " "을 제외한 문자열만 입력받겠다는 제약조건을 가진 어노테이션이다. public class RequestDto { @Data public static class User { @NotBlank(message = "유저 아이디가 비었습니다.") private String userId; } } @Nullable @NotNull @Null @Pattern(regex="") String @NotEmpty @NotBlank ..
SpringBoot에서 @ComponentScan을 통한 의존성 주입 방법을 정리했다. @Component public class MemberService { private final MemberRepository memberRepository; } MemberService를 사용하려면 의존 관계에 있는 memberRepository를 주입받아야 한다. 이런 의존성 주입 방법은 크게 4가지(생성자 주입, setter 주입, 필드 주입, 메서드 주입)가 있다. 각각 방법의 장/단점을 정리하고, Lombok을 활용한 최신 트렌드를 정리했다. 1. 생성자 주입 @Component public class MemberService { private final MemberRepository memberReposit..
Spring Boot : 2.7.13 Java : 11 한달째 스프링 프로젝트를 진행하면서 아래와 같은 문제가 발생했다. 1. 기본 매핑만 되어있던 엔티티들의 연관관계 매핑을 진행하면서 엔티티 수정이 계속해서 발생한다. 2. pk, fk들이 계속 변경되는데, ddl-auto 옵션이 update라서 꼬이는 일이 발생한다. 3. db가 꼬여서 drop한 뒤 새로 생성하게 되면 다른 사람이 만들어놓은 테스트 데이터가 전부 삭제된다. 일단 db가 꼬여서 실행이 안되는 문제 해결이 우선이었기 때문에, ddl-auto를 update에서 create로 수정했다. 그리고 나서 초기 테스트 데이터를 밀어넣기 위해서 data.sql을 추가하고 application.properties에 필요한 옵션을 추가했다. //appl..