डाकिया में स्वैगर एपीआई कैसे आयात करें?


120

हाल ही में मैंने स्प्रिंगएम पीवीसी और स्वैगर-यूआई (वी 2) के साथ बाकी के एपीआई लिखे । मैंने डाकिया में आयात समारोह देखा:

यहाँ छवि विवरण दर्ज करें

तो मेरा सवाल यह है कि पोस्टमैन को जिस फाइल की आवश्यकता है उसे कैसे बनाएं?

मैं स्वैगर से परिचित नहीं हूं।


6
यार ये सच में कमाल है ... !!!
एडेलिन

जवाबों:


127

मैं 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": {

    }
}

इसे डाकिया के रूप में आयात किया जा सकता है।

  1. Postman UI के ऊपरी बाएँ कोने में ' आयात ' बटन पर क्लिक करें ।
  2. एपीआई डॉक्टर आयात करने के लिए आपको कई विकल्प दिखाई देंगे। ' पेस्ट रॉ टेक्स्ट ' पर क्लिक करें ।
  3. पाठ क्षेत्र में JSON प्रारूप पेस्ट करें और आयात पर क्लिक करें।
  4. आप अपने सभी एपीआई को ' डाकिया संग्रह ' के रूप में देखेंगे और इसका उपयोग डाकिया से कर सकते हैं।

डाकिया में JSON आयात करना

आयातित एपीआई

आप 'इंपोर्ट से लिंक' का भी उपयोग कर सकते हैं। यहां वह 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;

1
धन्यवाद, लेकिन अब समस्या यह है कि मैं फ़ाइल को स्वैगर-यूआई से कैसे निर्यात कर सकता हूं? और लिंक बेकार है।
दानव कोल्डमिस्ट

@DemonColdmist I ने एपीआई जनरेट करने के लिए कोड जोड़ा है। मूल रूप से, यह संपूर्ण निर्देशिका को स्कैन करता है, एनोटेशन की जांच करता है और JSON / YAML आउटपुट बनाता है। क्षमा करें, लेकिन मैंने JAVA के साथ स्वैगर का उपयोग नहीं किया है।
JDpawar

धन्यवाद, अगर यह PHP में निर्यात किया जा सकता है, तो जावा करें। मैं इसे जावा में अनुवाद करूंगा।
डेमॉन कोल्डमिस्ट

2
स्प्रिंगफ़ॉक्स-स्वैगर 2 निर्भरता का उपयोग करते हुए एक जावा ऐप में, आप पोस्टमैन को आयात करने के लिए JSON प्राप्त कर सकते हैं जैसा कि इस उत्तर में ब्राउज़र खोलकर
स्थानीयहोस्ट

1
@JDpawar धन्यवाद, आयात सफल हुआ, लेकिन यह किसी भी POST API के लिए डाकिया में कोई 'बॉडी' जानकारी उत्पन्न नहीं कर रहा है। कोई विचार?
user1559625

36

.Net कोर के साथ यह अब बहुत आसान है:

  1. आप जाएं और अपने स्वैगर पेज पर JSON URL खोजें:

यहाँ छवि विवरण दर्ज करें

  1. उस लिंक पर क्लिक करें और URL को कॉपी करें
  2. अब पोस्टमैन पर जाएं और आयात पर क्लिक करें:

यहाँ छवि विवरण दर्ज करें

  1. चुनें कि आपको क्या चाहिए और आप एंडपॉइंट्स के एक अच्छे संग्रह के साथ समाप्त होते हैं:

यहाँ छवि विवरण दर्ज करें


8

स्वीकृत उत्तर सही है लेकिन मैं इसके लिए पूर्ण चरणों को फिर से लिखूंगा 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और यह बहुत अच्छा है, आप अपने दस्तावेज़ को बिना किसी परेशानी के होस्ट कर सकते हैं।

यहाँ छवि विवरण दर्ज करें


3
आयात करते समय त्रुटि: स्वैगर 2.0 आयात करते समय त्रुटि: (Patchable) पैरामीटर। टाइप गैर-बॉडी पैरामीटर के लिए अनिवार्य है
रामराज

0

आप ऐसा कर सकते हैं: डाकिया -> आयात -> लिंक -> {root_url}/v2/api-docs


-1
  • नारंगी बटन पर क्लिक करें ("फ़ाइलें चुनें")
  • स्वैगर डॉक्टर के लिए ब्राउज़ करें (swagger.yaml)
  • फ़ाइल का चयन करने के बाद, POSTMAN में एक नया संग्रह बन जाता है। इसमें आपके एंडपॉइंट के आधार पर फ़ोल्डर्स होंगे।

इसे सत्यापित करने के लिए (यदि आपके स्वैगर डॉक्टर में त्रुटियां हैं) तो आप कुछ नमूना स्वैगर फ़ाइलें भी ऑनलाइन प्राप्त कर सकते हैं।


क्या आप मुझे स्वैगर निर्यात करने का तरीका दिखा सकते हैं। मैं? मैं स्प्रिंग-पीवीसी में स्वैगर-यूआई का उपयोग कर रहा हूं।
डेमन कोल्डमिस्ट

आप स्वैगर को कहां से निर्यात करना चाहते हैं? क्या आप पहले से ही अपने YAML लेखक के लिए स्वैगर का उपयोग कर रहे हैं?
अश्विनी कुमार २
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.