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/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
683 Rails에서 Swagger를 이용하여 API Docs 사용 시 인증 처리 file 졸리운_곰 2018.05.27 56
» Ruby on Rails - Swagger UI : 레일즈 Swagger UI 적용 file 졸리운_곰 2018.05.27 41
681 가짜 동영상 제작툴 사용법 : deepfake : DeepFakes FakeApp Tutorial file 졸리운_곰 2018.05.26 7666
680 딥러닝 워크북 부록파일 file 졸리운_곰 2018.05.24 66
679 변수명과 메소드명 명명 및 작성규칙 졸리운_곰 2018.05.14 52
678 DDD - Aggregate, Factory, Repository 졸리운_곰 2018.05.13 37
677 리눅스 설치 날짜 확인 졸리운_곰 2018.05.09 249
676 윈도우 설치 날짜 확인하기 file 졸리운_곰 2018.05.09 279
675 마이크로서비스 아키텍처 file 졸리운_곰 2018.05.05 38
674 BMS 기반 리듬게임 개발 file 졸리운_곰 2018.05.02 236
673 bms [음악리듬게임] 파일 포멧 구조 Guide to understand BMS format file 졸리운_곰 2018.05.02 250
672 마이크로서비스 아키텍처 file 졸리운_곰 2018.05.02 150
671 성공적인 인공지능 챗봇 구현 위한 3가지 이슈 file 졸리운_곰 2018.04.29 44
670 IT 인프라에 새로운 물결이 밀려온다 타이달스케일 ‘하이퍼커널’ file 졸리운_곰 2018.04.24 45
669 프로세스가 개발 문화를 이기기 어려운 이유 졸리운_곰 2018.04.24 59
668 한눈에 이해하는 사업계획서 file 졸리운_곰 2018.04.24 79
667 웹 기획서 양식& 체크리스트 졸리운_곰 2018.04.06 59
666 “이 정도만 알면 프로젝트관리 할 수 있다!” 졸리운_곰 2018.04.06 132
665 Windows 최강의 복사 프로그램: ROBOCOPY(Windows용 견고한 파일 복사) 졸리운_곰 2018.03.25 40
664 Windows Server에서 리눅스 rsync와 같은 기능 robocopy file 졸리운_곰 2018.03.25 104
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED