¿Cómo importar las API de Swagger a Postman?
Recientemente escribí API relajantes con SpringMvc y swagger-ui (v2). Noté la función Importar en Postman:
Entonces mi pregunta es ¿cómo crear el archivo que Postman necesitaba?
No estoy familiarizado con Swagger.
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.
- Haga clic en el botón ' Importar ' en la esquina superior izquierda de la interfaz de usuario de Postman.
- Verá múltiples opciones para importar el documento API. Haga clic en ' Pegar texto sin formato '.
- Pegue el formato JSON en el área de texto y haga clic en importar.
- Verá todas sus API como ' Colección Postman ' y podrá usarlas desde Postman.
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;
Con .Net Core ahora es muy fácil:
- Vas y buscas la URL JSON en tu página de arrogancia:
- Haga clic en ese enlace y copie la URL.
- Ahora ve a Postman y haz clic en Importar:
- Seleccione lo que necesita y obtendrá una buena colección de puntos finales: