티스토리 뷰

Dev.BackEnd/SpringBoot

[SpringBoot] REST API제작!

빵쏙에꼼팡이 2019. 4. 1. 19:16

개인 웹 프로젝트를 진행하면서 다양한 블로그들의 글을 봤지만

 

내 입맛에 맞는 글이 없는 관계로 직접 개발하는 과정을 남겨보려고 한다.

 

중간 생략 과정이 있을 수도 있지만 최대한 제목에 맞게 진행 할 예정이다.

 

최종 목표는

 

Back - SpringBoot 를 이용해서 REST api만 제공

Front - angular / react 를 이용 (아직 미확정)

 

따로 프로젝트를 생성해서 개인 프로젝트를 진행할 예정입니다.

 

이번 글에서는 Springboot + Gradle + Swagger을 설정할 예정입니다.

환경

  • 언어: Java8
  • 기준: Spring Boot 2.1.3.RELEASE
  • 빌드도구: Gradle
  • DB: MySQL
  • IDE: STS

1. 프로젝트 생성

 

  • JPA
  • Web
  • Lombok
  • MySQL

다른 글들을 보면서 자신이 원하는 환경을 추가해서 프로젝트를 생성해 주면 될 거 같다.

 

2. DB설정

# db information
spring.datasource.url=jdbc:mysql://localhost:3306/BMSHARE?serverTimezone=Asia/Seoul
spring.datasource.username=root
spring.datasource.password=1234

spring.jpa.hibernate.ddl-auto=create

MySQL을 설정하였기 때문에 application.properties에 이렇게 'db information'을 등록하였다.

자신의 상황에 맞게 설정하면 될 거 같다.

 

3. Swgger 설정

Swgger를 설정하는 많은 블로그 글들이 그냥 코드만 작성해두고 복붙하도록 되어있다보니

구버전을 그대로 사용하는 찜찜한 기분이 들어서...

대체 어디서 이렇게 가져 오는 것인지 궁금해서 찾아보았다.

 

http://springfox.github.io/springfox/

 

여기서 기본 문서를 참고해서 현재 자신이 프로젝트를 만드는 시점의 버전을 가져와서 복붙하면 될 거 같다.

 

build.gradle에 아래의 두 줄을 작성해 주고

compile 'io.springfox:springfox-swagger2:2.9.2'
compile 'io.springfox:springfox-swagger-ui:2.9.2'

config 패키지를 따로 생성하고 'SwaggerConfiguration.java' 클래스를 생성하고 아래와 같이 기본적인 소스코드를 작성하였다.

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
	@Bean
    public Docket apiDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

프로젝트를 실행 후 

http://localhost:프로젝트포트/swagger-ui.html#/  

 

밑에 처럼 swagger가 정상적으로 뜨는게 확인 될 것이다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함