Swagger로 ExpressWebJs API 문서화
오늘날 거의 모든 애플리케이션은 다른 애플리케이션과 데이터를 공유하기 위해 연결되어야 합니다. 이를 수행하는 가장 좋은 방법은 API를 사용하는 것이며 ExpressWebjs 노드 API를 구축하기 위한 goto 프레임워크입니다.
그러나 이 자습서에서는 expressWebjs 과 함께 Swagger 사용법을 살펴보겠습니다.
스웨거란?
Swagger 사이트에서 Swagger의 정의를 찾을 수 있습니다.
Swagger는 OpenAPI 사양(OAS)을 위한 세계 최대의 API 개발자 도구 프레임워크로 설계 및 문서화에서 테스트 및 배포에 이르기까지 전체 API 수명 주기에 걸쳐 개발할 수 있습니다.
이 예에서는 swagger-ui-express 및 swagger-jsdoc 의 두 라이브러리를 사용합니다.
첫 번째는 swagger.json 파일 또는 인라인 개체에서 Swagger UI(swagger-ui 프로젝트를 기반으로 자동 생성된 보기)를 제공할 수 있는 모듈입니다.
두 번째는 ExpressWebjs의 Docs 디렉토리에 있는 JSDoc 주석을 사용하여 Swagger를 통합하는 방법입니다. 이는 특히 광범위한 API와 수십 개의 모델이 있는 경우 매우 유용합니다.
애플리케이션 설정
ExpressWebJ 설치
터미널에서 다음 명령을 실행하여 ExpressWebJs로 새 프로젝트를 만듭니다.
npx expresswebcli new myNewApp
새로 만든 프로젝트로 cd합니다.
cd myNewApp
expresswebjs를 시작하는 방법에 대한 작업은 내 문서 또는 expresswebjs 설명서를 참조하십시오.
스웨거 추가
이제 애플리케이션이 준비되었으므로
이제 루트 디렉토리에 swagger.json 파일을 생성하여 swagger를 통합할 수 있습니다.
{
"definition": {
"openapi": "3.0.n",
"info": {
"title": "My Website API Documentation",
"version": "0.1.0",
"description":
"My website API docs with ExpressWebJs and documented with Swagger",
"license": {
"name": "MIT",
"url": "https://spdx.org/licenses/MIT.html"
},
"contact": {
"name": ""
}
},
"servers": [
{
"url": "http://localhost:5100/api"
}
]
},
"apis": ["./Docs/*.js"]
}
이"apis": ["./Docs/*.js"]
섹션은 실제 설명서가 있는 경로를 지정합니다. 우리의 경우 루트 디렉토리의 Docs 폴더에 있습니다.
그런 다음 이제 App/Service 디렉토리에 swagger 서비스를 만들 수 있습니다.
App/Service 디렉터리에서 index.js 파일로 Swagger 폴더를 생성해 보겠습니다. 경로는 App/Service/Swagger/index.js입니다.
//App/Service/Swagger/index.js
const swaggerJsdoc = require("swagger-jsdoc");
const swaggerUi = require("swagger-ui-express");
const options = require("../../../swagger.json");
class Swagger{
static run(){
let specs = swaggerJsdoc(options);
serverApp.use("/api-docs",swaggerUi.serve,swaggerUi.setup(specs,{exporer:true}));
}
}
module.exports = Swagger;
ExpressWebJs 서비스 공급자
다음으로 응용 프로그램 서비스 공급자에 swagger 서비스를 등록합니다. App/Providers/AppServiceProvider.js 파일로 이동하여 부팅 시 실행할 swagger 서비스를 추가합니다.
const swagger = require("../Service/swagger");
class AppServiceProvider {
/**
* Register application services.
*/
register() {
return {
//
};
}
/**
* Bootstrap any application services.
*
* @return void
*/
boot() {
swagger.run();
}
}
module.exports = AppServiceProvider;
참고: 고유한 서비스 공급자를 만들 수 있습니다. ExpressWebjs ServiceProvider in the Documentation site에 대해 자세히 알아보십시오.
모든 설정이 완료되면 이제 Docs 디렉토리에서 API 문서 작성을 시작할 수 있습니다.
Swagger 문서를 보려면 다음을 사용하여 프로젝트를 실행하십시오.
npm run dev
브라우저에서 http://127.0.0.1/api/api-docs
로 이동합니다.
결론
제 글을 읽어주셔서 감사합니다
당신은 트위터에서 나를 따라갈 수 있습니다
트위터에서 ExpressWebJs를 팔로우할 수 있습니다.
github에서 별표 표시하는 것을 잊지 마세요ExpressWebJs.
의견 섹션에 질문이 있으면 알려주십시오. 😊
Reference
이 문제에 관하여(Swagger로 ExpressWebJs API 문서화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/alexigbokwe/documenting-your-expresswebjs-api-with-swagger-36hf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
npx expresswebcli new myNewApp
cd myNewApp
이제 애플리케이션이 준비되었으므로
이제 루트 디렉토리에 swagger.json 파일을 생성하여 swagger를 통합할 수 있습니다.
{
"definition": {
"openapi": "3.0.n",
"info": {
"title": "My Website API Documentation",
"version": "0.1.0",
"description":
"My website API docs with ExpressWebJs and documented with Swagger",
"license": {
"name": "MIT",
"url": "https://spdx.org/licenses/MIT.html"
},
"contact": {
"name": ""
}
},
"servers": [
{
"url": "http://localhost:5100/api"
}
]
},
"apis": ["./Docs/*.js"]
}
이
"apis": ["./Docs/*.js"]
섹션은 실제 설명서가 있는 경로를 지정합니다. 우리의 경우 루트 디렉토리의 Docs 폴더에 있습니다.그런 다음 이제 App/Service 디렉토리에 swagger 서비스를 만들 수 있습니다.
App/Service 디렉터리에서 index.js 파일로 Swagger 폴더를 생성해 보겠습니다. 경로는 App/Service/Swagger/index.js입니다.
//App/Service/Swagger/index.js
const swaggerJsdoc = require("swagger-jsdoc");
const swaggerUi = require("swagger-ui-express");
const options = require("../../../swagger.json");
class Swagger{
static run(){
let specs = swaggerJsdoc(options);
serverApp.use("/api-docs",swaggerUi.serve,swaggerUi.setup(specs,{exporer:true}));
}
}
module.exports = Swagger;
ExpressWebJs 서비스 공급자
다음으로 응용 프로그램 서비스 공급자에 swagger 서비스를 등록합니다. App/Providers/AppServiceProvider.js 파일로 이동하여 부팅 시 실행할 swagger 서비스를 추가합니다.
const swagger = require("../Service/swagger");
class AppServiceProvider {
/**
* Register application services.
*/
register() {
return {
//
};
}
/**
* Bootstrap any application services.
*
* @return void
*/
boot() {
swagger.run();
}
}
module.exports = AppServiceProvider;
참고: 고유한 서비스 공급자를 만들 수 있습니다. ExpressWebjs ServiceProvider in the Documentation site에 대해 자세히 알아보십시오.
모든 설정이 완료되면 이제 Docs 디렉토리에서 API 문서 작성을 시작할 수 있습니다.
Swagger 문서를 보려면 다음을 사용하여 프로젝트를 실행하십시오.
npm run dev
브라우저에서 http://127.0.0.1/api/api-docs
로 이동합니다.
결론
제 글을 읽어주셔서 감사합니다
당신은 트위터에서 나를 따라갈 수 있습니다
트위터에서 ExpressWebJs를 팔로우할 수 있습니다.
github에서 별표 표시하는 것을 잊지 마세요ExpressWebJs.
의견 섹션에 질문이 있으면 알려주십시오. 😊
Reference
이 문제에 관하여(Swagger로 ExpressWebJs API 문서화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/alexigbokwe/documenting-your-expresswebjs-api-with-swagger-36hf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const swagger = require("../Service/swagger");
class AppServiceProvider {
/**
* Register application services.
*/
register() {
return {
//
};
}
/**
* Bootstrap any application services.
*
* @return void
*/
boot() {
swagger.run();
}
}
module.exports = AppServiceProvider;
npm run dev
Reference
이 문제에 관하여(Swagger로 ExpressWebJs API 문서화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexigbokwe/documenting-your-expresswebjs-api-with-swagger-36hf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)