Spring Boot로 REST API 만들기

스프링 부트는 원래 자바로 만드는 마이크로서비스를 만들기 위한 프레임워크입니다. 여기서는 스프링부트를 사용하여 간단한 REST API를 만드는 방법을 소개하고자 합니다.

 

여기서는 다음의 내용을 다루고자 합니다.

  • spring 개발환경 구축
  • spring framework5 와 spring boot를 활용한 RESTful 서비스 개발

 

개발환경

스프링 개발을 위해 일반적으로 아래 개발도구를 사용합니다.

 

하지만 개발도구로 STS 대신에 InteliJ의 idea나 이클립스 다른 IDE를 사용할 수 있습니다. (저는InteliJ의 idea를 사용합니다.) 또한 maven 대신에 gradle을 사용해도 무방합니다.

그리고 사용할 스프링 버전은 아래의 것을 사용할 것입니다.

 

스프링 부트로 RESTful API서비스 만들기

스프링 부트는 앞서 말했듯이 마이크로 서비스를 빠르고 쉽게 만들수 프레임워크 입니다. 다시 말해 빠르고 쉽게 만들수 있다는 것은 기본코드와 환경설정에 드는 노력을 상당히 줄이고 기본 설정값으로 애플리케이션을 쉽게 만들수 있습니다. 스프링 부트는 maven에서의 POM 파일과  같은 빌드 파일을 자동 생성합니다. 스프링 부트는 기존에 스프링에서 사용하는 xml 설정 파일을 없앴으며, 실행가능한 jar형태의 어플리케이션을 제작할 수 있습니다.

요약하자면 스프링 부트는 xml 없는 간단한 설정으로 쉽게 실행가능한 어플리케이션을 만들 수 있습니다.

 

스프링 부트 시작하기

스프링 부트로 개발을 시작하는 주요 방법은 아래의 4가지 방법이 있습니다.

  • 스프링 부트 CLI( Command Line Interface) 사용
  • 스프링 툴 스위트(STS) 사용
  • 스프링 이니셜라이저(Spring Initializer) 사용
  • SDKMAN 사용

 

하지만 여기서는 가장 간단하게 스프링 부트 CLI를 사용하여 RESTful API를 만들어 보겠습니다.

 

스프링 부트 RESTful API 개발

아래의 과정을 따라해보면 쉽게 API 서비스를 만들 수 있습니다.

  1.  https://repo.spring.io/milestone/org/springframework/boot/spring-boot-cli/2.0.0.M1/spring-boot-cli-2.0.0.M1-bin.zip 파일을 다운로드 한다.
    $> wget https://repo.spring.io/milestone/org/springframework/boot/spring-boot-cli/2.0.0.M1/spring-boot-cli-2.0.0.M1-bin.zip
    
  2. 원하는 디렉토리에 압축을 풀고 bin디렉토리로 이동한다.
    $> gzip -d spring-boot-cli-2.0.0.M1-bin.zip
    
    $> cd bin
    
  3. 다음 명령을 실행해서 설치 성공여부 확인
    $> ./spring --version
    Spring CLI v2.0.0.M1
    
  4. Groovy 를 사용하여 간단한 어플리케이션을 만듭니다.  아래의 내용으로 helloWorld.groovy  파일을 생성합니다.
    @RestController
    class HelloWorldController {
        @RequestMapping("/")
        String sayHello(){
            return "Hello World !!"
        }
    }
    
  5. 아래의 명령어를 실행하여 어플리케이션을 실행합니다.
    $> ./spring run helloWorld.groovy
    

    image
  6. 브라우저 혹은 curl 명령어로 확인합니다.
    $> curl localhost:8080
    hello World !!
    

 

끝.

댓글

주간 인기글

남산 케이블카 이야기

Kotlin, Java 그 다음?

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

[앱 디자인] 디자인 가이드 만들기 - 아이폰