📘
API Versioning & Docs

OpenAPI & Swagger

Automatic API Documentation
💡 OpenAPI/Swagger, EK "LIVE, INTERACTIVE MENU" hai, RESTAURANT ke liye — SIRF, DISHES ke NAAM NAHI, BALKI, HAR DISH ko, "TRY" (TEST) bhi kiya ja sakta hai, DIRECTLY, MENU (DOCUMENTATION PAGE) SE.

springdoc-openapi library, CONTROLLER ANNOTATIONS (jaise @GetMapping, @RequestBody, DTO FIELDS) ko, SCAN karके, AUTOMATICALLY, EK COMPLETE, INTERACTIVE API DOCUMENTATION, GENERATE kar deती hai — MANUALLY, DOCUMENTATION, MAINTAIN karne ki, ZAROORAT NAHI.

/swagger-ui.html PAR, EK INTERACTIVE UI MILТА hai, JAHA, HAR ENDPOINT ko, DIRECTLY, BROWSER SE, "TRY IT OUT" kiya ja sakta hai — REQUEST PARAMETERS, FILL karके, ACTUAL API CALL, TRIGGER ki ja sakti hai, aur, RESPONSE, TURANT, DEKHA ja sakta hai.

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

// Extra annotations, DOCUMENTATION ko, RICHER banaне ke liye:
@Operation(summary = "Get a product by ID", description = "Returns a single product")
@ApiResponse(responseCode = "200", description = "Product found")
@ApiResponse(responseCode = "404", description = "Product not found")
@GetMapping("/{id}")
public ProductDto getProduct(
    @Parameter(description = "Product ID") @PathVariable Long id) { }

// /swagger-ui.html PAR, AUTOMATICALLY, INTERACTIVE docs AVAILABLE
📘
OpenAPI/Swagger, EK "LIVE, INTERACTIVE MENU" hai, RESTAURANT ke liye — SIRF, DISHES ke NAAM NAHI, BALKI, HAR DISH ko, "TRY" (TEST) bhi kiya ja sakta hai, DIRECTLY, MENU (DOCUMENTATION PAGE) SE.
1 / 2
⚡ Quick Recap
  • springdoc-openapi = controller annotations se, AUTOMATIC documentation
  • /swagger-ui.html = interactive UI, endpoints DIRECTLY test kiye ja sakte hain
  • OpenAPI spec = client SDKs, automatically generate karne ke liye bhi useful
On this page (2 subtopics)

@Tag(name = "Products") ANNOTATION SE, SWAGGER UI mein, RELATED, ENDPOINTS ko, EK, GROUP mein, ORGANIZE kiya ja sakta hai — BADI, APIs (MULTIPLE, RESOURCES ke SAATH) mein, DOCUMENTATION ko, NAVIGATE karna, EASY BANATA hai.

@Tag(name = "Products", description = "Product management endpoints")
@RestController
public class ProductController { }

@ExampleObject ANNOTATION SE, SPECIFIC, SAMPLE, REQUEST/RESPONSE, JSON, DOCUMENTATION mein, INCLUDE ki ja sakti hai — DEVELOPERS ko, "ACTUAL, DATA, KAISA DIKHТA hai", DIRECTLY, DOCS mein, DEKHNE mein, HELP karta hai, BINA, MANUALLY, TESTING kiye.

  • @Tag = endpoints ko, GROUPS mein, organize karna
  • @ExampleObject = sample request/response JSON, docs mein, SHOW karna