[SPRING]#57 도서 쇼핑몰 구현 (RESTful 웹 서비스2)
·
SPRING
RESTful 방식의 장바구니 기본 구조 만들기 앞서 배운 RESTful 웹 서비스를 이용해서 장바구니 서비스를 구현해보도록 하겠습니다. 구현 순서는 다음과 같습니다. 도메인 객체 (Cart, CartItem) 퍼시스턴스 계층 (CartRepository, CartRepositoryImpl) 서비스 계층 (CartService, CartServiceImpl) 컨트롤러 (CartController) 뷰(cart) 정보다 담긴 도메인 객체 생성 CartItem.java com.springmvc.domain 패키지에 CartItem 클래스를 생성해줍니다. package com.springmvc.domain; public class CartItem { private Book book; private int qu..
[SPRING]#56 도서 쇼핑몰 구현 (RESTful 웹 서비스1)
·
SPRING
이번 장에서는 도서 쇼핑몰 장바구니를 만드는 RESTful 웹 서비스에 대해 공부해 보겠습니다. RESTful 웹 서비스란 HTTP와 웹의 장점을 최대 활용하는 REST 원리를 사용하여 구현되는 웹 서비스를 말합니다. REST는 HTTP에서 어떤 자원에 대한 CRUD 요청을 리소스와 메소드로 표현하여 특정한 형태로 전달하는 방식입니다. 다시 말해서 어떤 자원에 대해서 CRUD 연산을 수행하기 위해서 URI로 자원을 명시하고 HTTP 방식(GET, POST 등)을 사용해서 요청을 보내고 요청에 대한 자원은 특정한 형태(JSON, XML 등)로 표현됩니다. 다음은 REST의 구성 요소입니다. 종류 설명 리소스 서버는 고유 아이디가 있는 리소스를 가지며, 클라이언트는 이런 리소스에 요청을 보냅니다. 리소스는 ..
[SPRING]#55 도서 쇼핑몰 구현 (유효성 검사8)
·
SPRING
Validator 인터페이스와 JSR-380을 연동한 유효성 검사 앞서 실습에서 Validator 인터페이스를 사용하여 유효성 검사를 진행해 보았습니다. 그러나 앞서 작성한 도서 ID와 도서명에 대해서는 사용자 애너테이션을 적용했음에도 오류 메시지가 출력되지 않은 것을 확인했습니다. 이를 해결하기 위해서 Validator 인터페이스와 JSR-380을 연동하여 유효성 검사를 진행해보겠습니다. BookValidator.java com.springmvc.validator 패키지에 BookValidator 클래스를 생성해줍니다. package com.springmvc.validator; import java.util.HashSet; import java.util.Set; import javax.validatio..
[SPRING]#54 도서 쇼핑몰 구현 (유효성 검사7)
·
SPRING
Validator 인터페이스를 사용한 유효성 검사 앞서 배운 Validator 인터페이스를 사용한 유효성 검사를 통해서 실습 진행 중인 도서 관리 페이지에 적용해보도록 하겠습니다. 우선 Validator 인터페이스 구현체를 생성하고 제약사항의 내용은 도서 가격 10000원 이상이면 도서를 99권 이상 등록할 수 없다입니다. messages.properties Pattern.NewBook.bookId = \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uB3C4\uC11CID\uC785\uB2C8\uB2E4(\uC22B\uC790\uB85C \uC870\uD569\uD558\uACE0 ISBN\uC73C\uB85C \uC2DC\uC791\uD558\uC138\uC694). Size.N..
[SPRING]#53 도서 쇼핑몰 구현 (유효성 검사6)
·
SPRING
Validator 인터페이스 유효성 검사 이번에 공부할 유효성 검사는 Validator 인터페이스를 사용하는 방법입니다. 다음과 같이 구분하여 공부해보겠습니다. 도메인 클래스의 속성에 애너테이션을 선언하지 않고 스프링에서 제공하는 Validator 인터페이스의 구현체를 생성하고, 이를 이용하여 속성 값의 유효성을 검사하는 방법 스프링의 Validator 인터페이스와 JSR-380 Bean Validation과 연동하여 유효성을 검사하는 방법 유효성 검사 과정 스프링 Validator 인터페이스 활용은 네 단계를 거쳐 검사합니다. Validator 인터페이스의 구현체 생성 @InitBinder 선언 메소드 추가 @Valid를 이용한 유효성 검사 태그로 오류 메시지 출력 Validator 인터페이스의 구현체..
[SPRING]#52 도서 쇼핑몰 구현 (유효성 검사5)
·
SPRING
사용자 정의 애너테이션을 이용한 유효성 검사 앞서 배운 사용자 정의 애너테이션을 이용해서 도서 등록 시 도서 ID가 중복여부를 확인하는 유효성 검사를 작성해보도록 하겠습니다. 만약 중복된 ID라면 적절한 오류 메시지가 출력되도록 해보겠습니다. messages.properties src/main/resources 폴더에 있는 위 파일에 다음과 같이 내용을 추가로 작성해줍니다. Pattern.NewBook.bookId = \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uB3C4\uC11CID\uC785\uB2C8\uB2E4(\uC22B\uC790\uB85C \uC870\uD569\uD558\uACE0 ISBN\uC73C\uB85C \uC2DC\uC791\uD558\uC138\uC694..
[SPRING]#51 도서 쇼핑몰 구현 (유효성 검사4)
·
SPRING
사용자 정의 애너테이션으로 유효성 검사 앞서 배운 JSR-380 제약 사항 애터네이션으로는 중복 여부 체크를 할 수 없습니다. 이 문제를 해결하기 위해 사용자 정의 애너테이션을 선언해줍니다. 예를 들어 웹에서 회원 관리 시 ID는 회원을 식별할 수 있는 속성입니다. 따라서 회원 가입을 할 때 ID는 반드시 중복 여부를 체크해주어야 합니다. 이를 위해서 사용자 정의 제약 사항을 이용한 유효성 검사를 실행해줍니다. 중복 여부 체크 뿐만 아니라 다양한 제약 사항을 만들 수 있습니다. 도메인 클래스의 멤버 변수에 선언할 사용자 정의 애너테이션인 @MemberId를 만드는 방법은 다음과 같습니다. public class Member { @MemberId private String memberId; //Setter..
[SPRING]#50 도서 쇼핑몰 구현 (유효성 검사3)
·
SPRING
JSR-380을 이용하여 유효성 검사하기 앞서 배운 JSR-380 제약 사항을 실습 진행 중인 도서 쇼핑몰에 적응해보도록 하겠습니다. pom.xml 유효성 검사 관련 의존 라이브러리를 추가해줍니다. 4.0.0 com.springmvc controller BookMarket war 1.0.0-BUILD-SNAPSHOT 11 5.3.19 1.9.9.1 1.7.36 5.6.3 1.4 2.11.0 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.springframe..