हाल ही में मैंने स्प्रिंगएम पीवीसी और स्वैगर-यूआई (वी 2) के साथ बाकी के एपीआई लिखे । मैंने डाकिया में आयात समारोह देखा:
तो मेरा सवाल यह है कि पोस्टमैन को जिस फाइल की आवश्यकता है उसे कैसे बनाएं?
मैं स्वैगर से परिचित नहीं हूं।
जवाबों:
मैं PHP पर काम करता हूं और एपीआई को दस्तावेज करने के लिए स्वैगर 2.0 का उपयोग किया है। स्वैगर डॉक्यूमेंट मक्खी पर बनाया गया है (कम से कम मैं वही है जो मैं PHP में उपयोग करता हूं)। दस्तावेज़ JSON प्रारूप में उत्पन्न होता है।
नमूना दस्तावेज़
{
"swagger": "2.0",
"info": {
"title": "Company Admin Panel",
"description": "Converting the Magento code into core PHP and RESTful APIs for increasing the performance of the website.",
"contact": {
"email": "jaydeep1012@gmail.com"
},
"version": "1.0.0"
},
"host": "localhost/cv_admin/api",
"schemes": [
"http"
],
"paths": {
"/getCustomerByEmail.php": {
"post": {
"summary": "List the details of customer by the email.",
"consumes": [
"string",
"application/json",
"application/x-www-form-urlencoded"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "email",
"in": "body",
"description": "Customer email to ge the data",
"required": true,
"schema": {
"properties": {
"id": {
"properties": {
"abc": {
"properties": {
"inner_abc": {
"type": "number",
"default": 1,
"example": 123
}
},
"type": "object"
},
"xyz": {
"type": "string",
"default": "xyz default value",
"example": "xyz example value"
}
},
"type": "object"
}
}
}
}
],
"responses": {
"200": {
"description": "Details of the customer"
},
"400": {
"description": "Email required"
},
"404": {
"description": "Customer does not exist"
},
"default": {
"description": "an \"unexpected\" error"
}
}
}
},
"/getCustomerById.php": {
"get": {
"summary": "List the details of customer by the ID",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Customer ID to get the data",
"required": true,
"type": "integer"
}
],
"responses": {
"200": {
"description": "Details of the customer"
},
"400": {
"description": "ID required"
},
"404": {
"description": "Customer does not exist"
},
"default": {
"description": "an \"unexpected\" error"
}
}
}
},
"/getShipmentById.php": {
"get": {
"summary": "List the details of shipment by the ID",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Shipment ID to get the data",
"required": true,
"type": "integer"
}
],
"responses": {
"200": {
"description": "Details of the shipment"
},
"404": {
"description": "Shipment does not exist"
},
"400": {
"description": "ID required"
},
"default": {
"description": "an \"unexpected\" error"
}
}
}
}
},
"definitions": {
}
}
इसे डाकिया के रूप में आयात किया जा सकता है।
आप 'इंपोर्ट से लिंक' का भी उपयोग कर सकते हैं। यहां वह URL पेस्ट करें जो स्वैगर या किसी अन्य एपीआई डॉक्यूमेंट टूल से एपीआई के JSON फॉर्मेट को जनरेट करता है।
यह मेरी डॉक्यूमेंट (JSON) जनरेशन फ़ाइल है। यह PHP में है। मुझे स्वैगर के साथ जावरा का कोई पता नहीं है।
<?php
require("vendor/autoload.php");
$swagger = \Swagger\scan('path_of_the_directory_to_scan');
header('Content-Type: application/json');
echo $swagger;
स्वीकृत उत्तर सही है लेकिन मैं इसके लिए पूर्ण चरणों को फिर से लिखूंगा java
।
मैं वर्तमान में के Swagger V2
साथ प्रयोग कर रहा हूँ Spring Boot 2
और यह सीधे 3 कदम प्रक्रिया है।
चरण 1:pom.xml
फ़ाइल में आवश्यक निर्भरताएँ जोड़ें । दूसरी निर्भरता वैकल्पिक है इसका उपयोग केवल तभी करें जब आपको आवश्यकता हो Swagger UI
।
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
चरण 2: कॉन्फ़िगरेशन वर्ग जोड़ें
@Configuration
@EnableSwagger2
public class SwaggerConfig {
public static final Contact DEFAULT_CONTACT = new Contact("Usama Amjad", "https://stackoverflow.com/users/4704510/usamaamjad", "hello@email.com");
public static final ApiInfo DEFAULT_API_INFO = new ApiInfo("Article API", "Article API documentation sample", "1.0", "urn:tos",
DEFAULT_CONTACT, "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList<VendorExtension>());
@Bean
public Docket api() {
Set<String> producesAndConsumes = new HashSet<>();
producesAndConsumes.add("application/json");
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(DEFAULT_API_INFO)
.produces(producesAndConsumes)
.consumes(producesAndConsumes);
}
}
चरण 3: सेटअप पूरा करें और अब आपको API में दस्तावेज़ करने की आवश्यकता हैcontrollers
@ApiOperation(value = "Returns a list Articles for a given Author", response = Article.class, responseContainer = "List")
@ApiResponses(value = { @ApiResponse(code = 200, message = "Success"),
@ApiResponse(code = 404, message = "The resource you were trying to reach is not found") })
@GetMapping(path = "/articles/users/{userId}")
public List<Article> getArticlesByUser() {
// Do your code
}
उपयोग:
आप अपने डॉक्यूमेंटेशन को http://localhost:8080/v2/api-docs
बस कॉपी से एक्सेस कर सकते हैं और पोस्टमैन को संग्रह आयात करने के लिए पेस्ट कर सकते हैं।
वैकल्पिक स्वैगर UI: आप किसी अन्य आराम क्लाइंट के बिना स्टैंडअलोन UI का उपयोग कर सकते हैं http://localhost:8080/swagger-ui.html
और यह बहुत अच्छा है, आप अपने दस्तावेज़ को बिना किसी परेशानी के होस्ट कर सकते हैं।
इसे सत्यापित करने के लिए (यदि आपके स्वैगर डॉक्टर में त्रुटियां हैं) तो आप कुछ नमूना स्वैगर फ़ाइलें भी ऑनलाइन प्राप्त कर सकते हैं।