java - tools - swagger ui html#/
¿Cómo exportar apis swagger en cartero (2)
Recientemente escribí apis apacibles con SpringMvc y swagger-ui (v2). Hoy, acabo de notar el botón Importar sobre el cartero. Y lo hice, solo vi el comentario " Importar una colección de carteros, Medio ambiente, volcado de datos, curl comando, o un archivo RAML / WADL / Swagger (v1 / v2) / Runscope " .
Al principio me había vuelto loco, pero ninguna respuesta satisfacía mi situación.
Así que mi pregunta es cómo crear el archivo que el cartero necesitaba . Por cierto, 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 el 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 en el cartero 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 crudo ''.
- Pegue el formato JSON en el área de texto y haga clic en importar.
- Verá todas sus API como '' Colección de carteros '' y podrá usarlas desde el cartero.
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 de API.
Este es mi archivo de generación de documentos (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;
- Haga clic en el botón naranja ("elegir archivos")
- Vaya al documento Swagger (swagger.yaml)
- Después de seleccionar el archivo, se crea una nueva colección en POSTMAN. Contendrá carpetas basadas en sus puntos finales.
También puede obtener algunos archivos de muestra de swagger en línea para verificar esto (si tiene errores en su documento de swagger).