인프런 -스프링 핵심원리 -고급편
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();
}
}
}
study.advanced.app.v0 패키지
@Service
@RequiredArgsConstructor
public class OrderServiceV0 {
private final OrderRepositoryV0 orderRepository;
public void orderItem(String itemId) {
orderRepository.save(itemId);
}
}
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