swagger 튜토리얼
Swagger 시작하기
수색…
비고
이 절에서는 swagger가 무엇인지, 왜 개발자가 그것을 사용하고 싶어하는지에 대한 개요를 제공합니다.
또한 거대한 주제를 언급하고 관련 주제와 연결해야합니다. 꾸미기를위한 문서는 새로운 것이므로, 관련된 주제의 초기 버전을 만들어야 할 수도 있습니다.
소개 - 설치 - 설치 (Node.js에서 개발)
소개:
Swagger는 REST API를 설명하는 형식에 대한 일련의 규칙 / 사양입니다. 코드 생성기 및 편집자와 같은 공식 사양을 중심으로 강력하고 적극적으로 개발 된 에코 시스템을 제공합니다. Swagger의 가장 중요한 부분은 메서드, 매개 변수 및 모델에 대한 문서가 서버 코드에 긴밀하게 통합되어 API가 항상 동기화 상태를 유지할 수 있다는 것입니다. 다음은 시작하기 쉬운 것의 간단한 개요를 제공하는 링크입니다.
사양 작성 :
사양은 JSON 또는 YAML로 작성할 수 있습니다. 그래서 우리는 재갈을 만들었습니다. 재수 또는 재갈. 온라인 편집기를 사용하여 파일을 작성할 수 있습니다. 다음은 사양 구문을 설명하는 링크입니다. http://swagger.io/specification/
기품을 사용하는 방법 :
- API 첫 번째 접근법 (위로 아래로 접근) : swagger 편집기 사용 → swagger 정의 작성 → swagger-codegen 및 swagger-ui를 사용하여 API 생성
- 서비스 첫 번째 접근법 (Bottom up approach) : 스와 저 주석을 사용하여 JAX-RS 리소스 클래스 개발 → 스와 저 코어를 사용하여 스 래거 정의 자동 생성 → swagger-codegen 및 swagger-ui를 사용하여 클라이언트 API 및 문서 생성. 위의 것은 swagger maven plugin 동안 maven 빌드 중에 수행 될 수 있습니다.
설치 및 설정
이 섹션에서는 swagger를 설치하고, swagger UI를 설정하고이를 사용하여 서버 측 및 클라이언트 SDK를 생성합니다. Node 패키지 관리자를 사용하여 swagger를 설치하려면 다음 명령을 실행하십시오.
npm install -g swagger
'-g'플래그를 사용하면 모듈이 전역으로 설치됩니다. 다음 명령을 사용하여 프로젝트를 만듭니다.
swagger project create <project-name>
그러면 사용자에게 REST API를 개발하기위한 프레임 워크를 선택하라는 메시지가 표시됩니다. Express는 동일하게 선택할 수 있습니다. 이렇게하면 다음 항목과 각 항목에 README.md 파일이있는 프로젝트 디렉토리가 생성됩니다.
- API /
- 컨트롤러 /
- 헬퍼 /
- 가짜 /
- 멋진/
- config /
- 테스트/
- API /
- 컨트롤러 /
- 도우미
- API /
- app.js
- package.json
서버는 기본적으로 준비가되어 있으며이 명령을 사용하여 프로젝트 루트에서 실행할 수 있습니다.
swagger project start
호스트 서버가 localhost
로 설정되고 app.js
파일에서 포트 번호가 수정되지 않은 경우 서버는 http://localhost:10010
에서 시작됩니다. 이제 Swagger UI를 사용하여 REST API를 추가로 개발할 수 있습니다. 이것은 다음을 사용하여 새 터미널에서 시작할 수 있습니다.
swagger project edit
랜덤하게 생성 된 포트의 브라우저 탭에서 흔들리는 편집기가 열립니다. 샘플 hello GET 요청은 이미 swagger.yaml 파일에 있습니다. 이 파일을 더 이상 변경하면 서버가 자체적으로 다시 시작됩니다.
경로 섹션에서 x-swagger-router-controller
사용되는 값은 controllers 폴더의 javascript 파일 이름이어야합니다. 샘플로 hello_world.js가 controllers 디렉토리에 있어야합니다. 또한 operationId
매개 변수의 값은 위의 javascript 파일에서 함수 이름을 나타냅니다. 비즈니스 로직을 작성해야하는 곳입니다. 따라서, 우리의 swagger 설정이 완료되었으며 API를 추가로 개발하는 데 사용할 수 있습니다.