Free Lines Arrow
본문 바로가기
Spring/spring 기초 스터디

[Spring] spring 웹 개발 기초 3(API방식)

by skahn1215 2021. 4. 10.
728x90
반응형

API 방식

api 방식이 어떻게 동작 하는지 알아보는 내용

 

1. @ResponseBody 문자반환

@Controller //controller 
public class HelloController { @GetMapping("hello-string")
 @ResponseBody // response
 public String helloString(@RequestParam("name") String name) {
 return "hello " + name;
 }
}

@Response 를 사용하게 되면 앞서 웹개발 기초 2에서 설명했던 View resolver를 사용하지 않는다.

대신에 HTTP의 Body에 문자 내용을 직접 반환 한다.

 

 

 

 

2. @ResponseBody 객체반환

@Controller
public class HelloController {
 @GetMapping("hello-api")
 @ResponseBody
 public Hello helloApi(@RequestParam("name") String name) {
     Hello hello = new Hello();
     hello.setName(name);
     return hello;
 }
 
    static class Hello {
        private String name;
        public String getName() {
            return name;
         }
         public void setName(String name) {
             this.name = name;
         }
    }

}

 

 

실행화면 

Json 형태로 보여주는 예제이다

객체를 반환했기 때문에 스프링은 해당 내용을 JSON 형태로 보여주었다.

 

스프링 자체에서 판단하여 보여줌.

 

 

 

 

동작원리

1. url 치면 톰캣에서 받고 스프링에게 알려준다.

2. 스프링은 컨트롤러가 있는지 확인한다.

3. 컨트롤러를 찾았는데 @ResponseBody가 붙어 있으니 뷰리졸버를 사용하지 않는다.

4. 리턴 받은게 어떤 포맷인지 확인한다.

5 해당 포맷에 맞게 화면에 보여준다.

 

기본문자 처리는 StringHttpMessageConverter 로 변환

기본객체 처리는 MappingJackson2HttpMessageConverter 으로 변환해준다.

 

 

 

참고:www.inflearn.com/

728x90
반응형

댓글