[Spring] API

노유성·2023년 7월 7일
0
post-thumbnail

API 서버란

API 서버(API Server)는 클라이언트 애플리케이션과 서비스 간의 상호작용을 담당하는 서버입니다. API(응용 프로그래밍 인터페이스)는 애플리케이션 간 데이터 및 기능을 교환하기 위한 규약이며, API 서버는 이러한 API를 제공하고 관리합니다.
API 서버의 주요 목적은 클라이언트 애플리케이션에서 필요로 하는 데이터를 제공하고, 서비스의 기능을 사용할 수 있도록 하는 것입니다. 클라이언트는 API 서버에 HTTP 요청을 보내어 데이터를 요청하거나 서비스를 호출하며, API 서버는 이러한 요청을 처리하고 응답을 반환합니다.
-chatGPT

예제

반환 값이 String

Controller

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

/hello-string에 query string을 작성해서 보내게 되면은 응답으로 http body에 문자 내용을 직접 반환하다.

@ReponseBody를 사용하면은 viewResolver를 사용하지 않는다.

다음은 http://localhost:8080/hello-string?name=spring!으로 요청을 보낸 결과이다.

반환값이 object

Controller

@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;
        }
    }
}

다음은 controller가 return으로 object를 반환할 경우이다. 위와 같은 경우에 접근을 할 경우

JSON 방식으로 응답이 온다.

전체적인 그림은 다음과 같다.

profile
풀스택개발자가되고싶습니다:)

0개의 댓글