반응형

지금까지 정적컨텐츠, MVC를 통해 사이트를 만들어봤습니다.

이제는 API를 통해서 사이트를 만들어보겠습니다.

 


 

HelloController // 코드 추가

@GetMapping("hello-string")
@ResponseBody
    public String helloString(@RequestParam("name") String name) {
        return "hello" + name;
    }
    
// @ResponseBody 추가적 설명
// 사용자가 http://localhost:8080/hello-string?name="spring" 입력 후 접속시
// 뷰 리졸버가 작동하지 않고 html body에 직접 반환

 

 

HelloController // 코드 추가

// @ResponseBody 객체 반환
@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;
        }

 

객체를 반환하게 되면 Spring에서는 json 형태로 반환한다.

 

-> http://localhost:8080/hello-api?name=spring 접속


동작 과정 : 

1. http://localhost:8080/hello-api?name=spring을 사용자가 입력하여 접속

2. @GetMapping을 통해서 hello-api 에 해당하는 helloApi 메서드 호출

3. @RequestParam("name") String name 을 통해서 name 파라미터 값을 받아옴

4. hello 객체 생성후 name에 파라미터 값 주입

5. hello 객체 반환, 객체를 반환하게 되면 json 형태로 반환됨.

 


위 강의는 김영한님의 Spring 입문 강의를 바탕으로 글을 썼습니다.

 

반응형

+ Recent posts