ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 8강. API
    스프링 프레임워크-입문 2021. 5. 2. 09:46

    또 다른 방식인 API 방식입니다.

    사실 두 가지 방법만을 기억하면 됩니다. 첫번째는 MVC와 템플릿 엔진이고 두번째는 API 방식입니다.

     

    HelloController에 아래의 메서드를 추가해주겠습니다.

    이 코드는 Get방식으로 URL에 'hello-spring'을 입력하고 들어올 때 name이라는 파라미터를 받아 'hello+name'으로 반환한다는 것입니다. @ResponseBody는 HTTP Body부에 이 내용을 직접 넣어주겠다는 의미입니다.

    (HTTP는 헤더부와 바디부로 구성됩니다.)

    이를 보면 화면에 그대로 출력이 된 것을 확인할 수 있습니다.

     

    우리는 이제 다른 방식의 API를 확인해 보겠습니다.

     

    우선 클래스를 만들고 name에 해당하는 getter와 setter를 만들도록 하겠습니다.

     

    그 후 hello-api를 get방식으로 접근하는 URL을 helloApi와 매핑하고 name이라는 키로 파라미터를 받아 객체를 생성해 여기에 set으로 주입한 후 반환시키겠습니다.

    이렇게 되면 JSON 방식으로 반환된 것을 알 수 있습니다. 이러한 방식을 우리가 대게 API 방식이라고 말합니다.

    * JSON은 {키:값} 이 형식으로 이루어집니다.

    * 최근 JSON 방식으로 통일 (XML은 이제 거의 쓰지 않음)

    * Spring도 JSON으로 반환하는 것이 default입니다.

     

     

    @ResponseBody가 없다면 ViewResolver에 데이터를 넘겨주었겠지만 @ResponseBody가 있으면 HTTP 응답에 바로 넣었다고 인식하고 그렇게 처리합니다. 이 때 동작하는 것이 HttpMessageConverter가 동작합니다. 단순 문자열이면 StringConverter가 동작하고 객체이면 JsonConverter가 동작합니다.

     

    원하는 형식으로 바꿔서 보낼 수 있습니다. byte, XML etc....

     

     

     

Designed by Tistory.