Ruby on Rails - Swagger UI

레일즈 Swagger UI 적용

Ruby on Rails

레일즈는 기본적으로 RESTful 방식을 사용하고 있기 때문에, API 서버를 구성하는데에도 매우 편하다.
Scaffolding 기능 역시 웹 프론트와 친하지 않은 나에겐 매우 편리하고 감사하다.

간단히 레일즈 API 서버에 Swagger UI 적용하는 예제를 정리하고자 한다.
웹서버 개발 및 테스트를 위해 집에 설정 해둔 라즈베리파이에서 테스트 해보았다.

Swagger 적용

swagger-docs Gem 설치

# Gemfile
gem 'swagger-docs'
bundle install

Gemfile 에 위와 같이 ‘swagger-docs’ 잼을 추가한 뒤 번들러로 설치해 준다.

Swagger Config 파일 생성

Swagger Config정상적으로 설치가 되었으면, config/initializers/ 경로에 설정 파일을 추가해준다.(swagger_docs.rb)
api_file 경로 설정에 주의하자. 해당 경로로 Swagger json 파일이 생성된다.

Swagger 적용

Swagger Controller

요청을 처리 해줄 해당 컨트롤러와 메소드에 위와 같이 Swagger 정보를 설정 해준다.
여기서는 API 버전 관리를 위해서 API::V1::UsersController를 별도로 생성했다.
물론 추가해준 Controller로 요청을 처리하기 위해 routes 설정도 함께 해줘야 한다.

Swagger Docs 생성


rake swagger:docs

위 명령어를 실행하면 ‘swagger_docs.rb’에 설정한 경로에 Swagger 문서가 생성된다.
해당 문서에는 위에서 정의한 API 요청 정보가 담겨있다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

위와 동일하게 진행했다면, public/api/ 경로에 문서가 생성된 걸 확인할 수 있다.

Swagger 페이지 적용

이제 Swagger 프론트 페이지를 경로에 맞게 넣어주면 된다.
나는 swagger-docs 오픈소스 작성자가 제공하는 샘플 내용을 활용했다.
=> richhollis/swagger-docs-sample

결과

Swagger Result

참고

[출처] http://blog.wjhong.pe.kr/ror/2016/12/02/Rails-Setup-Swagger/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
691 Scaffold로 빠르게 웹 서비스 개발하기 file 졸리운_곰 2018.06.09 25
690 Docker 명령어 정리 졸리운_곰 2018.06.09 39
689 Dockerfile 명령어 정리 졸리운_곰 2018.06.09 14
688 아주 간단한 Docker 사용법 정리 file 졸리운_곰 2018.06.09 21
687 [Docker] Docker 기본 사용법 정리 졸리운_곰 2018.06.09 25
686 일반 PHP 프로젝트 개발 환경에서 docker 사용하기 file 졸리운_곰 2018.06.06 45
685 Docker (Compose) 활용법 - 개발 환경 구성하기 file 졸리운_곰 2018.06.06 47
684 레일즈 API 서버 구축시 고려사항 졸리운_곰 2018.05.27 75
683 Rails에서 Swagger를 이용하여 API Docs 사용 시 인증 처리 file 졸리운_곰 2018.05.27 38
» Ruby on Rails - Swagger UI : 레일즈 Swagger UI 적용 file 졸리운_곰 2018.05.27 18
681 가짜 동영상 제작툴 사용법 : deepfake : DeepFakes FakeApp Tutorial file 졸리운_곰 2018.05.26 7625
680 딥러닝 워크북 부록파일 file 졸리운_곰 2018.05.24 56
679 변수명과 메소드명 명명 및 작성규칙 졸리운_곰 2018.05.14 34
678 DDD - Aggregate, Factory, Repository 졸리운_곰 2018.05.13 14
677 리눅스 설치 날짜 확인 졸리운_곰 2018.05.09 235
676 윈도우 설치 날짜 확인하기 file 졸리운_곰 2018.05.09 264
675 마이크로서비스 아키텍처 file 졸리운_곰 2018.05.05 14
674 BMS 기반 리듬게임 개발 file 졸리운_곰 2018.05.02 220
673 bms [음악리듬게임] 파일 포멧 구조 Guide to understand BMS format file 졸리운_곰 2018.05.02 222
672 마이크로서비스 아키텍처 file 졸리운_곰 2018.05.02 135
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED