오늘이라도

[II. 스프링 웹 개발 기초] 7. API 본문

인프런/스프링 입문 (김영한)

[II. 스프링 웹 개발 기초] 7. API

upcake_ 2021. 12. 28. 19:12
반응형

https://github.com/upcake/hello-spring

강의 링크

 

오늘의 단축키

 - 자동 마무리 : Ctrl + Shift + Enter

 - Generate 메뉴 : Alt + Insert


1. API

 - 정적 컨텐츠 방식을 제외하면 HTML로 내리나 API 방식으로 데이터를 내리나 두 가지 방식만 기억하자

 - 일반적으론 객체를 반환하는 것을 의미한다.

 

2. @ResponseBody

    @GetMapping("hello-string")
    @ResponseBody
    public String helloString(@RequestParam("name") String name) {
        return "hello " + name;
    }

 - Http에서 응답 Body부에 데이터를 직접 넣어주겠다는 의미

 - return이 view로 가지 않고 문자열이 그대로 내려간다.

 

 - HTML 태그 없이 입력한 문자가 그대로 내려옴

 

3. 객체

    @GetMapping("hello-api")
    @ResponseBody
    public Hello helloApi(@RequestParam("name") String name) {
        Hello hello = new Hello();
        hello.setName(name);
        return hello;
    }


    //클래스 내부에 static으로 class를 만들면 클래스안에서 해당 클래스를 사용할 수 있다. HelloController.Hello 자바에서 정식으로 지원하는 문법
    static class Hello {
        private String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

 - Getter / Setter : Java Bean 표준방식, Property 접근 방식 등등이라고 한다

 - 

 

 - JSON 형식으로 출력되었다.

 

4. ResponseBody의 사용 원리

 - 객체가 오면 기본적으로 JSON 형식으로 만들어서 Http 응답으로 한다.

 - Json 라이브러리는 크게 Jackson / Gson 두 가지가 있고, 스프링은 기본적으로 Jackson을 사용한다.

반응형