Spring/스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[ 스프링 웹 개발 기초 ] API

alsruds 2023. 9. 7. 15:45

🙂강의🙂

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

[ GetMapping("hello-string") ]

1. src/main/java/hello.hellospring/controller/HelloController 에 GetMapping 추가하기

package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

    ...

    @GetMapping("hello-string")
    // ResponseBody : http body 부분에 직접 데이터 입력
    @ResponseBody
    public String helloString(@RequestParam("name") String name) {
        return "hello " + name;
    }
}

 

2. 웹 브라우저 확인하기

성공 ~

➡️ View 를 사용하지 않음

 

[ GetMapping("hello-api") ]

3. src/main/java/hello.hellospring/controller/HelloController 에 GetMapping 추가하기

package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.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;
        // 기본으로 JSON 반환
    }

    static class Hello {
        private String name;

        public String getName() {
            return name;
        }

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

 

4. 웹 브라우저에서 확인하기

성공 ~

 

  • 동작 방식

➡️ @ResponseBody 사용

    → HTTP 의 Body 에 문자 내용을 직접 반환

    → viewResolver 대신 HttpMessageConverter 동작

    → 기본 문자 처리 : StringHttpMessageConverter

    → 기본 객체 처리 : MappingJackson2HttpMessageConverter