Swagger/OpenAPI जनरेशन Java के लिए: सर्वश्रेष्ठ लाइब्रेरीज़

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swagger/OpenAPI जनरेशन Java के लिए: टूल्स की पूरी गाइड



आधुनिक Java-डेवलपमेंट में, गुणवत्तापूर्ण API दस्तावेज़ीकरण बनाना प्रक्रिया का एक अनिवार्य हिस्सा बन गया है। OpenAPI विनिर्देश (पहले Swagger के नाम से जाना जाता था) RESTful API का वर्णन करने के लिए एक मानकीकृत प्रारूप प्रदान करता है। इस लेख में, हम Java प्रोजेक्ट्स में Swagger/OpenAPI दस्तावेज़ीकरण जनरेट करने के लिए मुख्य टूल्स, उनकी विशेषताओं और उपयोग के उदाहरणों पर चर्चा करेंगे।



Swagger और OpenAPI क्या हैं?

Swagger REST API को डिज़ाइन करने, बनाने और दस्तावेज़ित करने के लिए टूल्स का एक सेट है। OpenAPI एक विनिर्देश है जो API विवरण के मानक को परिभाषित करता है। Swagger इस विनिर्देश का सबसे लोकप्रिय कार्यान्वयन है।



Java के लिए मुख्य लाइब्रेरीज़

तीन प्रमुख टूल्स पर विचार करें:

  • SpringDoc OpenAPI — Spring Boot के लिए एक आधुनिक लाइब्रेरी
  • Swagger Core — Swagger के निर्माताओं की मूल लाइब्रेरी
  • OpenAPI Generator — कोड और दस्तावेज़ीकरण जनरेशन के लिए टूल


1. SpringDoc OpenAPI

SpringDoc Spring Boot प्रोजेक्ट्स के लिए सबसे लोकप्रिय विकल्प है। यह स्वचालित रूप से आपके एप्लिकेशन के साथ एकीकृत होता है और एनोटेशन और डेटा प्रकारों के आधार पर दस्तावेज़ीकरण उत्पन्न करता है।



स्थापना और कॉन्फ़िगरेशन

pom.xml में निर्भरता जोड़ें:

<dependency>    <groupId>org.springdoc</groupId>    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>    <version>2.6.0</version></dependency>


उपयोग का उदाहरण

दस्तावेज़ीकरण के साथ एक सरल कंट्रोलर बनाएं:

@RestController@RequestMapping("/api/users")@Tag(name = "उपयोगकर्ता", description = "उपयोगकर्ता प्रबंधन")public class UserController {

@GetMapping("/{id}") @Operation(summary = "ID द्वारा उपयोगकर्ता प्राप्त करें") public ResponseEntity<User> getUser( @Parameter(description = "उपयोगकर्ता का ID") @PathVariable Long id) { // कार्यान्वयन return ResponseEntity.ok(new User(id, "इवान")); }

@PostMapping @Operation(summary = "नया उपयोगकर्ता बनाएं") public ResponseEntity<User> createUser( @RequestBody @Valid CreateUserRequest request) { // कार्यान्वयन return ResponseEntity.status(201).body(new User(1L, request.getName())); }}


एप्लिकेशन चलाने के बाद, दस्तावेज़ीकरण http://localhost:8080/swagger-ui.html पर उपलब्ध होगा।



2. Swagger Core

Swagger Core लाइब्रेरी OpenAPI विनिर्देश बनाने के लिए अधिक निम्न-स्तरीय दृष्टिकोण प्रदान करती है। यह उन प्रोजेक्ट्स के लिए उपयुक्त है जहाँ जनरेशन पर पूर्ण नियंत्रण की आवश्यकता होती है।



मैन्युअल रूप से विनिर्देश बनाने का उदाहरण

import io.swagger.v3.oas.models.*;import io.swagger.v3.oas.models.info.*;

OpenAPI openAPI = new OpenAPI() .info(new Info() .title("Pet Store API") .description("पालतू जानवरों के प्रबंधन के लिए API") .version("1.0.0") .contact(new Contact() .name("डेवलपर") .email("dev@example.com"))) .addServersItem(new Server() .url("https://api.example.com/v1") .description("प्रोडक्शन सर्वर"));

// पथ और घटक जोड़नाPaths paths = new Paths();paths.addPathItem("/pets", new PathItem() .get(new Operation() .operationId("listPets") .summary("पालतू जानवरों की सूची प्राप्त करें")));openAPI.setPaths(paths);


3. OpenAPI Generator

OpenAPI Generator एक टूल है जो OpenAPI विनिर्देश के आधार पर दस्तावेज़ीकरण और क्लाइंट/सर्वर कोड दोनों उत्पन्न कर सकता है।



Maven में उपयोग

pom.

अनुशंसाएँ