본문 바로가기

공부/Spring Boot를 이용한 RESTful Web Services 정리

[Spring Boot] DispatcherServlet 작동 원리, @PathVariable 사용법

 

application.yml or application.properties


 - 설정파일 지정 시 자바 클래스 사용 가능하지만, application.yml or application.properties 사용가능

 

(1) application.properties  : 설정이름 = 값 , 

(2) application.yml : 설정이름 : 값 , 모든 데이터를 리스트, 스칼라 데이터를 적절하게 사용할 수 있고, 가독성이 좋아 환경 설정에 자주 사용됌

 

로그 관련 파일 설정 하기

application.yml 파일에 추가

logging:
     level:
        org.springframwork: DEBUG

//org.springframwork로 되어있는 패키지만, DEBUG 모드로 로깅을 출력하겠다는 뜻

 

- 서버 재부팅 시 로그에 실행 클래스 및 설정 정보들이 로그에 출력

실행

 

 

 DispatcherServlet 


(1) DispatcherServletAutoConfiguration

 :  사용자 요청을 처리해주는 일종의 게이트웨이

 

(2) HttpMessageConvertersAutoConfiguration

 : json 포맷으로 데이터 변환 후 클라이언트에게 전달

 

(3) DispatcherServlet

서블릿 컨테이너에서 http 프로토콜로 통해 들어오는 모든 요청값을 처리하기 위해 프레젠테이션 계층에서 요청을 한곳에 받아 놓고 처리한다 (일종의 게이트웨이 역할)

 

- 클라이언트의 모든 요청을 한곳으로 받아서 처리한다.

- 요청에 맞는 handler로 요청을 전달한다.

- handler의 실행 결과를 http response 형태로 만들어서 반환한다.

 

 

 

@PathVariable


 

- @PathVariable URI의 일부를 변수로 전달한다.

- @PathVariable 어노테이션을 이용해서 {템플릿 변수} 와 동일한 이름을 갖는 파라미터를 추가한다.

   다르게 설정하고 싶은 경우 @PathVariable(value="") 속성을 사용해 변경하면 된다.

 

 @GetMapping(path = "/hello-world-bean/path-variable/{name}")
    public HelloWorldBean helloWorldBean(@PathVariable String name){ 
       //GetMapping의 가변 변수 값고과 다르게 사용하고 싶은경우, value 속성을 추가하면됌
        return new HelloWorldBean(String.format("Hello World, %s ", name));
    }

 

 

 

 

 

 

Reference


인프런 강의 -  Spring Boot를 이용한 RESTful Web Services 개발

 

 

 

300x250