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