Swagger ตัวช่วยสร้างคู่มือ RESTful API ได้อย่างง่ายดาย

หลักการทำการสร้าง api ไปจนจะเสร็จโปรเจ็คโดยก่อนจะจบงานได้นั้นจะมีส่วนหนึ่งที่ต้องมาทำ คู่มือ ซึ่งเราจะมา สร้างคู้มือเองทั้งหมดมันจะลำบากไปนิดหน่อย (คนขี้เกียจแบบผม) มันเลยเป็นสิ่งหนึ่งที่ผมได้เลือกมันในการเข้ามาช่วยในการทำคู่มือแบบง่ายและรวดเร็ว โดยวันนี้จะมาทำความเข้าใจกับมันกันแล้วทดลองแบบพอให้เราไปใช้ได้

Swagger คือ เครื่องมือพัฒนา ให้ใครก็ได้ ไม่ว่าจะเป็นทีมพัฒนาหรือผู้ใช้งาน api ของคุณ เห็นภาพและโต้ตอบกับ API โดย สร้างขึ้นโดยอัตโนมัติจาก OpenAPI (เดิมชื่อ Swagger) ของคุณ พร้อมเอกสารภาพที่ทำให้ง่ายต่อการใช้งานส่วนหลังและการใช้งานฝั่งไคลเอ็นต์

ตัวอย่างการสร้าง swagger

โดยการสร้างหน้า swagger นี้ไม่ได้จำเป็นต้องเป็นภาษาใดภาษาหนึ่งแต่สามารถสร้างได้ ทุกภาษาโปรแกรม ที่สามารถรองรับ swagger หรือ open api ได้ โดยวันนี้จะมีตัวอย่างของ nest js

ตั้งค่าโปรเจค

การตั้งค่าโปรเจ็กต์ใหม่นั้นค่อนข้างง่ายด้วยNest CLI เมื่อ ติดตั้ง npmแล้ว คุณสามารถสร้างโปรเจ็กต์ Nest ใหม่โดยใช้คำสั่งต่อไปนี้ในเทอร์มินัล OS ของคุณ:

npm i -g @nestjs/cli
nest new project-name

หลังจากจะได้ไฟล์ตามนี้

ไฟล์ที่ได้

การเริ่มใช้งาน swagger ขั้นแรกให้ติดตั้ง ในโปรเจค

npm install --save @nestjs/swagger

ทดลองใช้งาน Shutterstock ฟรี – รับภาพ วิดีโอ เพลง และเครื่องมือออกแบบที่ใช้งานง่ายด้วยการสมัครสมาชิกเพียงครั้งเดียวโฆษณาผ่านคาร์บอน

บทนำ

ข้อกำหนดOpenAPIเป็นรูปแบบคำจำกัดความที่ไม่เชื่อเรื่องภาษาที่ใช้เพื่ออธิบาย RESTful API Nest จัดเตรียม โมดูลเฉพาะซึ่งช่วยให้สามารถสร้างข้อกำหนดดังกล่าวโดยใช้ประโยชน์จากนักตกแต่ง

การติดตั้ง

ในการเริ่มใช้งาน ขั้นแรกให้ติดตั้งการพึ่งพาที่จำเป็น


$ npm install --save @nestjs/swagger

เมื่อกระบวนการติดตั้งเสร็จสิ้น ให้เปิด main.ts

import { NestFactory } from '@nestjs/core';
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  //เพิ่ม config เพื่อเรียกใช้งาน swagger
  const config = new DocumentBuilder()
    .setTitle('Cats example')
    .setDescription('The cats API description')
    .setVersion('1.0')
    .build();
  const document = SwaggerModule.createDocument(app, config);
  //setup swagger
  SwaggerModule.setup('api', app, document);

  await app.listen(3000);
}
bootstrap();

แค่เราก็จะได้ swagger ui แบบง่ายแล้วรวดเร็วสำหรับคนสนใจสามารถอ่านเพิ่มเติมและต่อยอดหรือเพิ่มรายละเอียดข้อมูลได้ ที่ open api nest js ได้เลย