Swagger এবং OpenAPI Specification কি?
Swagger এবং OpenAPI Specification (OAS) হল API ডিজাইন, ডকুমেন্টেশন, এবং ডেভেলপমেন্টের জন্য ব্যবহৃত দুটি গুরুত্বপূর্ণ টুল এবং স্ট্যান্ডার্ড। Swagger হল OpenAPI Specification এর পূর্ববর্তী নাম, তবে এখন এটি OAS-এর অংশ হিসেবে ব্যবহৃত হয়। OpenAPI Specification (OAS) হল একটি স্ট্যান্ডার্ড যা RESTful API এর স্ট্রাকচার, ইন্টারফেস এবং ডেটা বিন্যাস সম্পর্কে বিস্তারিত তথ্য প্রদান করে। Swagger এর মাধ্যমে আপনি সহজেই OpenAPI স্পেসিফিকেশন তৈরি, ডকুমেন্টেশন, এবং টেস্টিং করতে পারেন।
Swagger এবং OpenAPI Specification এর সুবিধা
- API ডকুমেন্টেশন: Swagger এবং OpenAPI স্পেসিফিকেশন API ডকুমেন্টেশন তৈরিতে সহায়তা করে। এটি API-র সমস্ত এন্ডপয়েন্ট, মেথড, প্যারামিটার, এবং রেসপন্স বডি সম্পর্কে বিশদ তথ্য প্রদান করে।
- স্বয়ংক্রিয় টেস্টিং: Swagger ব্যবহার করে API-এর বিভিন্ন এন্ডপয়েন্ট টেস্ট করা যায় এবং ডেভেলপমেন্ট প্রক্রিয়াকে দ্রুত করা যায়।
- ইন্টারঅ্যাকটিভ ডকুমেন্টেশন: Swagger UI এর মাধ্যমে API ডকুমেন্টেশন ইন্টারঅ্যাকটিভ এবং ব্যবহারকারী-বান্ধব হয়ে ওঠে, যেখানে ডেভেলপাররা ডকুমেন্টেশন থেকে সরাসরি API কল করতে পারে।
- কোড জেনারেশন: Swagger এর মাধ্যমে আপনি API এর জন্য কোড জেনারেট করতে পারেন, যেমন ক্লায়েন্ট লাইব্রেরি বা সার্ভার স্টাব।
Swagger এবং OpenAPI Specification কিভাবে কাজ করে?
OpenAPI Specification (OAS) বা Swagger হল একটি JSON বা YAML ফাইল যা API এর কাঠামো বর্ণনা করে। এটি API-এর সমস্ত এন্ডপয়েন্ট, প্যারামিটার, ডেটা ফরম্যাট, নিরাপত্তা মেথড, এবং অন্যান্য বিষয় সংজ্ঞায়িত করে।
Swagger UI এবং Swagger Codegen OpenAPI স্পেসিফিকেশন ব্যবহার করে API-এর ডকুমেন্টেশন এবং ক্লায়েন্ট লাইব্রেরি তৈরি করতে সাহায্য করে।
Swagger এবং OpenAPI Specification এর ব্যবহার
১. Swagger UI Setup
Swagger UI হল একটি টুল যা API ডকুমেন্টেশনকে ইন্টারঅ্যাকটিভ করে তোলে। Swagger UI ব্যবহার করে আপনি API-র এন্ডপয়েন্টগুলো ভিজ্যুয়ালি দেখতে এবং পরীক্ষা করতে পারেন।
Swagger UI সেটআপ করার জন্য নিচের পদক্ষেপগুলো অনুসরণ করুন:
প্রথমে আপনার প্রকল্পে Swagger UI ইনস্টল করুন। যদি আপনি Node.js ব্যবহার করেন, তাহলে এই কমান্ডটি ব্যবহার করুন:
npm install swagger-ui-expressএরপর আপনার API সার্ভারে Swagger UI সংযুক্ত করুন। নিচের কোডের মতো আপনার Express অ্যাপ্লিকেশনে Swagger UI যুক্ত করুন:
const express = require('express'); const swaggerUi = require('swagger-ui-express'); const swaggerDocument = require('./swagger.json'); // আপনার Swagger JSON ডকুমেন্টেশন const app = express(); // Swagger UI Middleware যুক্ত করা app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)); app.listen(3000, () => { console.log("Server is running on port 3000"); });আপনার Swagger JSON ডকুমেন্টেশন তৈরি করুন। এটি আপনার API এন্ডপয়েন্টগুলির বিস্তারিত তথ্য ধারণ করবে। উদাহরণস্বরূপ:
{ "openapi": "3.0.0", "info": { "title": "My API", "description": "API Documentation", "version": "1.0.0" }, "paths": { "/users": { "get": { "summary": "Get a list of users", "responses": { "200": { "description": "A list of users", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } } } } } } } } }- Swagger UI এ এখন
/api-docsরুটে ডকুমেন্টেশন দেখতে পারবেন।
২. Swagger Codegen
Swagger Codegen একটি টুল যা Swagger/OpenAPI স্পেসিফিকেশন ব্যবহার করে কোড জেনারেট করে, যেমন ক্লায়েন্ট লাইব্রেরি বা সার্ভার স্টাব। এটি ব্যবহার করে API এর জন্য কাস্টম কোড দ্রুত তৈরি করা যায়।
Swagger Codegen ইনস্টলেশন এবং ব্যবহার:
Swagger Codegen CLI ইনস্টল করা: Swagger Codegen ইনস্টল করতে Homebrew বা NPM ব্যবহার করতে পারেন:
brew install swagger-codegenঅথবা NPM থেকে ইনস্টল করতে:
npm install -g swagger-codegenAPI ক্লায়েন্ট কোড জেনারেট করা:
Swagger/OpenAPI স্পেসিফিকেশন ফাইলের মাধ্যমে API ক্লায়েন্ট কোড জেনারেট করতে:
swagger-codegen generate -i swagger.json -l javascript -o ./clientএই কমান্ডটি swagger.json ফাইল থেকে JavaScript কোড জেনারেট করবে এবং ./client ডিরেক্টরিতে রেখে দেবে।
৩. OpenAPI Specification ব্যবহার করা
OpenAPI Specification (OAS) হল Swagger এর আধুনিক সংস্করণ। এটি API ডকুমেন্টেশনের জন্য একটি ইউনিফাইড ফর্ম্যাট সরবরাহ করে। এটি JSON বা YAML ফাইল হিসেবে সংরক্ষিত থাকে এবং এটি API এর সমস্ত এন্ডপয়েন্ট, প্যারামিটার, রেসপন্স, এবং অন্যান্য বিবরণ বর্ণনা করে।
OpenAPI স্পেসিফিকেশন তৈরি করা:
OpenAPI স্পেসিফিকেশন ফাইল তৈরি করতে YAML বা JSON ব্যবহার করতে পারেন। নিচে একটি OpenAPI স্পেসিফিকেশনের YAML ফর্ম্যাটের উদাহরণ:
openapi: 3.0.0
info:
title: API Example
description: API Documentation example
version: 1.0.0
paths:
/users:
get:
summary: Get all users
responses:
200:
description: List of users
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
এখানে, /users এন্ডপয়েন্টের জন্য OpenAPI স্পেসিফিকেশন তৈরি করা হয়েছে, যা GET মেথডের জন্য 200 রেসপন্সের বর্ণনা প্রদান করে।
সারাংশ
Swagger এবং OpenAPI Specification (OAS) হল অত্যন্ত শক্তিশালী টুল এবং স্ট্যান্ডার্ড যা API ডকুমেন্টেশন এবং ডিজাইনকে সহজ করে তোলে। Swagger UI ব্যবহার করে আপনি API ডকুমেন্টেশন ইন্টারঅ্যাকটিভভাবে দেখতে এবং API কল করতে পারেন। Swagger Codegen ব্যবহার করে আপনি সহজেই API ক্লায়েন্ট এবং সার্ভার কোড জেনারেট করতে পারেন। OpenAPI Specification API ডকুমেন্টেশনকে একটি ইউনিফাইড ফরম্যাটে সংজ্ঞায়িত করে, যা API ডেভেলপমেন্টে স্ট্যান্ডার্ডাইজেশন এবং স্বয়ংক্রিয়তা প্রদান করে।
Read more