RestFul Api Server 만들기(1 of N)
일기장/개발일기

RestFul Api Server 만들기(1 of N)

RestFul Api Server 만들기

그 동안 RestFul Api 서버를 사용하기도 하고 만들기도 하지만 매번 해당 스타일(?)들을 찾아서 적용하고 또 까먹고 그러다 보니 해당 과정을 포스팅을 해보려고 한다.

 

대략적으로 원하는 요소들이 구체화 되지는 않았지만 소소한것부터 하나씩 적용하려다보니 언제 완성 될 지는 모르겠다.

초기에는 대략적인 hello-world로 시작해서 점차 주제를 세우고 기능들도 적용해보도록 하겠다.


프로젝트 생성

Spring boot에서 간단하게 프로젝트를 생성하기 위해 Spring Initializer를 통해서 만드러 주도록 하겠다.

Gradle를 사용할 거기 때문에 Gradle로 설정해주고 언어는 Java를 선택해주면된다

개인적으로 버전은 2.6.x를 사용하면 swagger가 잘 적용이 안되는 거 같아 2.5.9로 결정했다.

spring web을 선택해주면 기본적으로 RESTful Api를 위한 디펜던시를 알아서 추가해주기 때문에 편리하게 세팅할 수 있다.

 

프로젝트를 생성하고 나면 main패키지에 Application 메소드가 하나 생성되어 있는 것을 확인 할 수 있다. 해당 메소드에는 @SpringBootApplication을 설정되어 있는데 이를 통해 Application이 실행 된다. 자세한 내용은 '@SpringBootApplication 이해하기'를 참고하면 된다.

 

그러면 기본적인 Api 서버를 만들어보도록 하겠습니다.


Controller 생성

Api를 간단하게 생각하면 결국 고객의 요청. 즉, Request에 대해서 응답(Response)를 서버에서 처리하는 것이고, 이를 RESTful하게 처리하게 되면 그것이 RESTful API가 된다.

 

이러한 Request에 대한 Response를 처리하기 위해서 Controller를 생성해주어야하는데 해당 클래스는 controller패키지를 생성후 그 하위에 만들어 주도록 하겠습니다.

해당 Controller를 보면 @RestController사용하고 있는데 이는 @Controller+@ResponseBody 로 이해하면 될 거 같다.

자세한 내용은 '@Controller, @RestController 어떠한 차이가??' 를 참조하면 될 듯 하다.

 

PostMan을 이용해서 호출해보면 "Hello World!!"라는 text가 리턴되는 것을 확인 할 수 있다.

하지만 이렇게 text로 응답하는 것은 딱히 바람직하지 못합니다. 보통 Rest의 경우 JSON, xml, html을 주고 받게 되는데 JSON 형식에 맞춰서 바꿔보도록 하겠습니다.