[스프링 핵심원리 - 고급편 ] 예제 프로젝트 만들기 - VO

JEONG SUJIN·2023년 2월 11일
0

스프링부트 기본

목록 보기
6/15

인프런 -스프링 핵심원리 -고급편

OrderRepositoryV0.java

study.advanced.app.v0 패키지

@Repository
@RequiredArgsConstructor
public class OrderRepositoryV0 {

	
	public void save(String itemId) {
		
		//저장로직
		if(itemId.equals("ex")) {
			throw new IllegalStateException("예외발생");
		}
		//상품저장에 1초
		sleep(1000);
	}

	private void sleep(int millis) {
		try {
			Thread.sleep(millis);
		}catch(InterruptedException e) {
			e.printStackTrace();
		}
	}
	
}

OrderServiceV0.java

study.advanced.app.v0 패키지

@Service
@RequiredArgsConstructor
public class OrderServiceV0 {
	
	private final OrderRepositoryV0 orderRepository;
	
	public void orderItem(String itemId) {
		orderRepository.save(itemId);
	}
	
	

}

OrderControllerV0.java

study.advanced.app.v0 패키지

@RestController
@RequiredArgsConstructor
public class OrderControllerV0 {

	private final OrderServiceV0 orderServiceV0;
	
	@GetMapping("/v0/request") //요청이 오면 아래 메서드가 호출
	public String request(String itemId) {
		orderServiceV0.orderItem(itemId);
		return "ok"; //문자반환
	}
	
	
}

@GetMapping("/v0/request")뒤에 파라미터를 넣어어주면 ok라고 나온다.

/v0/request?itemId=2

예외를 넣어준 부분을 보면 에러페이지가 나오고 콘솔창에 예외발생! 이라는 글자가 나온다.!
/v0/request?itemId=ex

profile
기록하기

0개의 댓글