오프라인 수업을 통해서 새로이 배운 것에 대해서 포스트를 남겨보도록 하겠다.
이번에는 Swagger에 대한 내용이다.
예전의 방식으로는 실제로 보고서나 문서를 통해서 계획이라던지 수정사항이 생기는 부분 등의 정보를 주고받는 형태였다. 하지만 이 Swagger를 사용하면 실제로 작업 중인 프로젝트 안에 설정해 주면 프론트엔드든 백엔드든 작업하는 사람이 이를 쉽게 확인하고 일을 할 수 있다.
특히 API를 구성하고 개발하는 데에 쉽게 사용할 수 있다. 다음의 내용을 통해서 알아보자.

먼저 본인의 프로젝트에 Swagger를 빌드해주어야 한다.

application.properties에도 해당 내용을 추가해준다.

그 다음 Java 클래스를 생성해서 Swagger를 설정해주어야 한다.


어노테이션을 통해서 해당 클래스가 Swagger를 설정하는 클래스인지를 IntelliJ가 알 수 있도록 할 수 있다.

@Configuration, @EnableSwagger2

가장 기본적인 형태는

@Configuration
@EnableSwagger2
public class SwaggerConfig{

	@Bean
	public Docket api(){
    	return new Docket(DocumentationType.SWAGGER_2);
        }
    }

접속방법은 http://localhost:포트번호/swaager-html#/

해당 부분이다.
그러나 이런 식으로만 작성을 하면 완전 기본적인 형태로만 구성이 되기 때문에 조금 더 편집을 해주는 것이 작업자가 편하게 볼 수 있을 것이다.

먼저 상단에 Api Documentation 이라고 쓰여있는 부분을 설정하는 방법이다.


이렇게 클래스를 하나 더 생성해서 빌더를 통해서
title(제목)
description(설명)
license(라이센스)
version(버젼)
등을 적어줄 수 있다.

다음으로 중요한 API 부분의 설명방법인데

기존에 만들어 놓은 Docket에서 빋더 형식으로 사진처럼 수정을 할 수 있다.
중요한 부분은 apis와 paths 부분인데 원하는 컨트롤러나 API 부분만 설정해서 Swagger에서 나타낼 수 있도록 하는 것이다.

apis는 package 경로를 설정해 주면 되고
paths는 package 안에서 원하는 컨트롤러만 ant style pattern을 통해서 설정해주면 된다.

컨트롤러 설정이 끝났다면 그 안에서의 API마다 다른 설명을 적어주면 된다.

해당 내용은 AdminController의 로그인 기능에 대해서 설명해놓은 것이다.

@Api 부분은 tags를 통해서 Controller의 이름을 설정해 줄 수 있고
Class 안의 메소드에서 @ApiOeration은 메소드가 무슨 기능인지를 설명할 수 있다.
또한 메소드 안에서 파라미터를 받는 경우 ApiImpicitParams를 통해서 어떤 이름, 밸류, 기본값은 무엇인지 등을 설정해서 보여줄 수 있다.

이런 식으로 구성한 것을 볼 수 있으며 Try it out을 통해서 직접 파라미터를 넣어서 실행해 볼 수 도 있다.

Swagger에 대해서 간단하게 알아보았는데 실무에서도 아주 유용하게 사용될 수 있을 것 같다.
물론 문서를 통해서 직접 보고서 형식으로 주고받는 것도 좋을 수 있겠지만 이렇게 프로젝트 안에서 직접 수정이 이루어 진다면 환경을 생각해서도 좋을 것 같고 수정사항이 생기는 경우에도 빠르게 해당 내용에 대해서 주고받을 수 있을 것 같다.

profile
이따금씩 올라오는 개발자 블로그

0개의 댓글