পোস্টম্যানে সোয়াগার এপিআই কীভাবে আমদানি করবেন?


114

সম্প্রতি আমি স্প্রিংএমভিসি এবং সোয়াগার-ইউআই (ভি 2) সহ বিশ্রামের এপিআই লিখেছি । আমি পোস্টম্যান এ আমদানি কার্যক্রম লক্ষ্য করেছি:

এখানে চিত্র বর্ণনা লিখুন

সুতরাং আমার প্রশ্নটি কীভাবে পোস্টম্যানের ফাইলটি তৈরি করবেন?

আমি সোয়াগার এর সাথে পরিচিত নই।


6
মানুষ এটি সত্যিই দুর্দান্ত ... !!!
আদেলিন

উত্তর:


120

আমি পিএইচপি-তে কাজ করি এবং এপিআইগুলি নথির জন্য সোয়াগার 2.0 ব্যবহার করেছি। সোয়াগার ডকুমেন্টটি ফ্লাইতে তৈরি করা হয়েছিল (কমপক্ষে এটি আমি পিএইচপি ব্যবহার করি)। দস্তাবেজটি 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. পোস্টম্যান ইউআইয়ের উপরের বাম কোণে ' আমদানি ' বোতামে ক্লিক করুন ।
  2. আপনি এপিআই ডক আমদানি করতে একাধিক বিকল্প দেখতে পাবেন। ' পেস্ট কাঁচা টেক্সট ' এ ক্লিক করুন ।
  3. পাঠ্য এলাকায় JSON ফর্ম্যাটটি পেস্ট করুন এবং আমদানি ক্লিক করুন।
  4. আপনি আপনার সমস্ত এপিআইগুলিকে ' পোস্টম্যান সংগ্রহ ' হিসাবে দেখতে পাবেন এবং এটি পোস্টম্যান থেকে ব্যবহার করতে পারেন।

জেসন পোস্টম্যানে আমদানি করা হচ্ছে

আমদানি করা API গুলি

আপনি 'আমদানি থেকে লিঙ্ক' ব্যবহার করতে পারেন। এখানে ইউআরএল আটকান যা সোয়াগার বা অন্য কোনও এপিআই ডকুমেন্ট টুল থেকে APIs এর JSON ফর্ম্যাট তৈরি করে।

এটি আমার নথি (জেএসএন) প্রজন্মের ফাইল। এটি পিএইচপি-তে রয়েছে। সোয়াগার সহ আমার জাভা সম্পর্কিত কোনও ধারণা নেই।

<?php
require("vendor/autoload.php");
$swagger = \Swagger\scan('path_of_the_directory_to_scan');
header('Content-Type: application/json');
echo $swagger;

4
ধন্যবাদ, তবে এখন সমস্যা হ'ল আমি সোয়াগার-ইউআই থেকে ফাইলটি কীভাবে রফতানি করতে পারি? এবং লিঙ্কটি অকেজো।
দানব কোল্ডমিস্ট

@ ডেমোনকোল্ডমিস্ট আমি এপিআই তৈরির জন্য কোডটি যুক্ত করেছি। মূলত, এটি সম্পূর্ণ ডিরেক্টরিটি স্ক্যান করে, টীকাগুলি পরীক্ষা করে এবং JSON / YAML আউটপুট তৈরি করে। দুঃখিত, তবে আমি জাভা সহ সোয়াগার ব্যবহার করি নি।
জেডিপাওয়ার

ধন্যবাদ, যদি এটি পিএইচপি রফতানি হতে পারে, তাই জাভা করুন। আমি এটি জাভা অনুবাদ করব।
দানব কোল্ডমিস্ট

4
Springfox-swagger2 নির্ভরতা ব্যবহার করে একটি জাভা অ্যাপের সাহায্যে আপনি JSON আমদানি করতে পিয়ন একটি ব্রাউজার খোলার শিরোনাম দ্বারা এই উত্তরটি বর্ণনা অনুযায়ী পেতে পারেন 8080 / v2 / API-দস্তাবেজ: স্থানীয় হোস্টের
Nacho থেকে Mezzadra

4
@ জেডিপাওয়ার ধন্যবাদ, আমদানি সফল হয়েছে, তবে এটি কোনও পোষ্ট এপিআইয়ের জন্য পোস্টম্যানে কোনও 'বডি' তথ্য উত্পন্ন করছে না। কোন ধারনা?
ব্যবহারকারী 1559625

32

নেট কোর সহ এটি এখন খুব সহজ:

  1. আপনি যান এবং আপনার সোয়াগার পৃষ্ঠায় JSON ইউআরএল খুঁজে পাবেন:

এখানে চিত্র বর্ণনা লিখুন

  1. সেই লিঙ্কটি ক্লিক করুন এবং URL টি অনুলিপি করুন
  2. এখন পোস্টম্যান এ যান এবং আমদানি ক্লিক করুন:

এখানে চিত্র বর্ণনা লিখুন

  1. আপনার যা প্রয়োজন তা নির্বাচন করুন এবং আপনি শেষ পয়েন্টগুলির একটি দুর্দান্ত সংগ্রহ সহ শেষ করুন:

এখানে চিত্র বর্ণনা লিখুন


8

গৃহীত উত্তর সঠিক তবে আমি এর জন্য সম্পূর্ণ পদক্ষেপগুলি আবার লিখব java

আমি বর্তমানে ব্যবহার করছি Swagger V2সঙ্গে Spring Boot 2এবং এটা সহজবোধ্য পদক্ষেপ 3 প্রক্রিয়া।

পদক্ষেপ 1:pom.xml ফাইলে প্রয়োজনীয় নির্ভরতা যুক্ত করুন। দ্বিতীয় নির্ভরতা হ'ল youচ্ছিক এটি কেবল আপনার প্রয়োজন হলে ব্যবহার করুন 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: সেটআপ সম্পূর্ণ এবং এখন আপনাকে এপিআইগুলি ডকুমেন্ট করতে হবে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কেবল এটি অনুলিপি থেকে সংগ্রহ করতে এবং সংগ্রহকে আমদানি করতে পোস্টম্যানে পেস্ট করতে পারেন।

এখানে চিত্র বর্ণনা লিখুন

Swচ্ছিক সোয়াগার ইউআই: আপনি অন্য কোনও ক্লায়েন্ট ছাড়াই স্ট্যান্ডলোন ইউআইও ব্যবহার করতে পারেন http://localhost:8080/swagger-ui.htmlএবং এটি বেশ ভাল, আপনি কোনও প্রকার ঝামেলা ছাড়াই আপনার ডকুমেন্টেশন হোস্ট করতে পারেন।

এখানে চিত্র বর্ণনা লিখুন


4
আমদানি করার সময় ত্রুটি: সোয়াগার ২.০: (প্যাচেবল) প্যারামিটার আমদানি করার সময় ত্রুটি অ-বডি প্যারামিটারের জন্য বাধ্যতামূলক
রামরাজ


-1
  • কমলা বোতামে ক্লিক করুন ("ফাইলগুলি চয়ন করুন")
  • সোয়াগার ডকটিতে ব্রাউজ করুন (swagger.yaml)
  • ফাইলটি নির্বাচনের পরে, পোস্টম্যানে একটি নতুন সংগ্রহ তৈরি হবে। এটিতে আপনার শেষ পয়েন্টগুলির উপর ভিত্তি করে ফোল্ডার থাকবে।

এটি যাচাই করতে আপনি কিছু নমুনা সোয়াগার ফাইলও অনলাইনে পেতে পারেন (যদি আপনার সোয়াজার ডকে আপনার কোনও ত্রুটি থাকে)।


আপনি কীভাবে আমাকে সোয়াগার.আইএমএল রফতানি করার উপায়টি প্রদর্শন করতে পারেন? আমি স্প্রিংএমভিসিতে সোয়াগার-ইউআই ব্যবহার করছি।
ডেমন কোল্ডমিস্ট

আপনি কোথা থেকে সোয়াগার রফতানি করতে চান? আপনি কি নিজের ইয়াএএমএল লেখার জন্য ইতিমধ্যে সোয়াগার ব্যবহার করছেন?
অশ্বিনী কুমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.