¿Cómo importar las API de Swagger a Postman?

Resuelto Demon Coldmist asked hace 8 años • 8 respuestas

Recientemente escribí API relajantes con SpringMvc y swagger-ui (v2). Noté la función Importar en Postman:

ingrese la descripción de la imagen aquí

Entonces mi pregunta es ¿cómo crear el archivo que Postman necesitaba?

No estoy familiarizado con Swagger.

Demon Coldmist avatar Aug 22 '16 12:08 Demon Coldmist
Aceptado

Trabajo en PHP y he usado Swagger 2.0 para documentar las API. El documento Swagger se crea sobre la marcha (al menos eso es lo que uso en PHP). El documento se genera en formato JSON.

Documento de muestra

{
    "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": "[email protected]"
        },
        "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": {

    }
}

Esto se puede importar a Postman de la siguiente manera.

  1. Haga clic en el botón ' Importar ' en la esquina superior izquierda de la interfaz de usuario de Postman.
  2. Verá múltiples opciones para importar el documento API. Haga clic en ' Pegar texto sin formato '.
  3. Pegue el formato JSON en el área de texto y haga clic en importar.
  4. Verá todas sus API como ' Colección Postman ' y podrá usarlas desde Postman.

Importando el JSON a Postman

API importadas

También puede utilizar 'Importar desde enlace'. Aquí pegue la URL que genera el formato JSON de las API desde Swagger o cualquier otra herramienta de documento API.

Este es mi archivo de generación de Documento (JSON). Está en PHP. No tengo idea de JAVA junto con Swagger.

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

Con .Net Core ahora es muy fácil:

  1. Vas y buscas la URL JSON en tu página de arrogancia:

ingrese la descripción de la imagen aquí

  1. Haga clic en ese enlace y copie la URL.
  2. Ahora ve a Postman y haz clic en Importar:

ingrese la descripción de la imagen aquí

  1. Seleccione lo que necesita y obtendrá una buena colección de puntos finales:

ingrese la descripción de la imagen aquí

Mik avatar Nov 20 '2019 21:11 Mik