전체 글

능이 개발자의 블로그
1) Validation Validation이란 올바르지 않은 데이터를 걸러내고 보안을 유지하기 위해 데이터 검증(Validation)은 여러 계층에 걸쳐서 적용됩니다. Client의 데이터는 조작이 쉬울 뿐더러 모든 데이터가 정상적인 방식으로 들어오는 것이 아니기 때문에, Client Side뿐만 아니라 Server Side에서도 데이터 유효성을 검사해야 할 필요가 있습니다. 스프링부트 프로젝트에서는 @Validated를 이용해 유효성을 검증할 수 있습니다. 2) 사용 방법 memberController.java public MemberVO getMemberDetail(@Validated MemberQuery memberQuery) { code } Contoller에서 유효성 검사를 적용할 API의 R..
잘 작성된 API 문서는 작업의 시간과 테스트 시간을 줄여주기 때문에 효율을 극대화시킬 수 있다. API 문서를 작성할 때 Swagger를 사용한다면 간편하게 문서를 작성할 수 있어 좋은 프레임워크로 평가 받고 있다. 이번 포스팅에서는 Swagger의 Annotation을 이용하여 API 문서의 설명을 구체화하고, Java Bean Validation을 이용하여 API 사용 시 유효성 체크에 관한 내용을 다뤄보고자 한다. 1) API 그룹 : @Tag Tag에 설정된 name이 같은 것 끼리 하나의 api 그룹으로 묶는다. @Tag(name = "member", description = "회원 API") public class MemberController { name : 태그의 이름 descriptio..
CSRF란 Cross Site Request Forgery의 약자로 크로스 사이트 요청 위조를 의미한다. 이러한 공격으로부터 보호하기 위해 CSRF Token을 만들어 사용한다. 클라이언트는 어떻게 CSRF 토큰을 얻나요 방법1. 서버 HTML 렌더링 시 meta 태그에 토큰을 집어 넣어주는 방법 방법2. 서버가 HTML 렌더링시 form 태그에 _csrf 필드를 넣어주는 방법 방법3. 서버의 API 호출 방법 RESTful 서버는 뷰 렌더링을 사용하지 않으므로, CSRF 토큰을 얻을 수 있는 별도의 API를 클라이언트에게 제공한다. 클라이언트는 발급받은 토큰을 요청 헤더에 넣어 요청한다. 서버는 토큰을 어떻게 생성하나요? public class WebSecurityConfig extends WebSec..
객체를 생성하기 위해서는 생성자 패턴, 정적 메소드 패턴, 수정자 패턴, 빌더 패턴 등을 사용할 수 있다. 이 중 빌더 패턴이 무엇이고 왜 빌더 패턴을 사용해야 하는지에 대해 포스팅 해보고자 한다. 빌더패턴이란 빌더 패턴이란 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다. 빌더 패턴을 사용해야 하는 이유 생성자와 수정자로 구현된 다음과 같은 User 클래스가 있다고 가정해보자. @NoArgsConstructor @AllArgsConstructor public class User { private String name; private int age; private int height; private int iq; } 1. 필요한 데이..
능이개발자
능이개발자의 블로그