En Apidog, diseñar y configurar un endpoint de API es un paso fundamental para crear API sólidas y eficaces.Se recomienda diseñar endpoints de conformidad con la OpenAPI Specification (OAS) para garantizar una compatibilidad fluida con diversas herramientas y servicios dentro del ecosistema OpenAPI. Desviarse de la OAS puede provocar problemas de compatibilidad al utilizar herramientas y servicios compatibles con OpenAPI.
Para crear un nuevo endpoint dentro del módulo APIs, haga clic en el botón Nuevo endpoint.
Un endpoint claro y completo debe incluir los siguientes elementos:
1.
Ruta del endpoint
2.
Método de petición
3.
Metadatos del endpoint
4.
Petición
5.
Respuesta y ejemplo
Modo Design-first
Modo Request-first
Modos de interfaz
La interfaz de endpoints de Apidog tiene dos modos: Modo Design-first para el enfoque API Design-first y Modo Request-first para enfoques Code-first. Puede cambiar de modo en la esquina inferior izquierda de la interfaz. Obtenga más información sobre el Modo Design-first/Modo Request-first.
La ruta del endpoint sirve como una dirección específica donde la API puede interactuar con aplicaciones externas. Esto es lo que el cliente utilizará para acceder al servicio de API.
Apidog sigue el enfoque de la OpenAPI Specification. En lugar de escribir la URL completa para cada endpoint, solo debe introducir la ruta (por ejemplo, /users). La URL base se establece en el entorno, y Apidog la añade automáticamente al realizar peticiones al endpoint.
Para mantener la coherencia con el estándar OpenAPI, Apidog también recomienda iniciar todas las rutas con una /. Esto mantiene el diseño de su API limpio y organizado, y garantiza que obtenga todo el beneficio de las funciones de Apidog.
Por qué iniciar las rutas con /
Se recomienda iniciar las rutas con / para cumplir con la OAS. No iniciar las rutas con / puede provocar diversos problemas de compatibilidad al usar herramientas dentro del ecosistema OpenAPI.
Además, usar / al principio de las rutas permite utilizar la funcionalidad de mock de patrón de URL, esencial para fines de prueba y validación en Apidog.
El método de petición determina cómo interactúa el cliente con el recurso del lado del servidor. Cada método tiene su propia semántica y dicta la respuesta del servidor. Al diseñar una API, seleccione el método de petición más adecuado según los requisitos del negocio para llevar a cabo de forma eficaz la operación prevista.
Los siguientes son métodos de petición de API de uso común:
Método
Descripción
GET
Recupera recursos especificados sin efectos secundarios. Usa parámetros de consulta para transmitir datos.
POST
Envía datos para su procesamiento y puede tener efectos secundarios. Los datos normalmente se envían en el cuerpo de la petición.
PUT
Actualiza o reemplaza por completo recursos especificados.
DELETE
Elimina recursos especificados.
OPTIONS
Consulta los métodos HTTP admitidos por el recurso de destino.
HEAD
Similar a GET, pero solo recupera los encabezados de la respuesta. Resulta útil para comprobar la existencia y las modificaciones de recursos sin descargar el contenido del recurso.
PATCH
Actualiza información parcial de recursos especificados.
TRACE
Devuelve la petición recibida por el servidor. Se utiliza principalmente con fines de depuración y diagnóstico.
CONNECT
Establece un túnel hacia el servidor, normalmente utilizado para el reenvío de peticiones de servidores proxy.
En Apidog, los endpoints incluyen campos de metadatos predeterminados que definen y gestionan la documentación, la accesibilidad y el ciclo de vida de la API.
A continuación, se ofrece una descripción concisa de cada campo de metadatos predeterminado:
Campo
Descripción
Nombre
Un nombre descriptivo que resume la funcionalidad del endpoint.
Estado
El estado predeterminado es "En desarrollo". Puede modificarlo para reflejar distintas etapas, como Pruebas o Producción. Obtenga más información sobre el estado del endpoint.
Responsable de mantenimiento
Especifica el miembro del equipo de Apidog responsable del endpoint. Seleccione un usuario de su cuenta para asignarle este rol.
Etiquetas
Palabras clave o frases que categorizan o describen el endpoint. Puede crear nuevas etiquetas o seleccionar entre las existentes.
Servicio
La URL base a la que se añade la ruta del endpoint. De forma predeterminada, se establece en "Heredar de los elementos principales", pero puede especificarse manualmente mediante la configuración del entorno. Obtenga más información sobre Entornos y servicios.
OperationId
Un identificador único (operationId en OAS) que distingue esta operación dentro de la API.
Descripción
Información detallada sobre el propósito y el uso del endpoint, con compatibilidad con Markdown para un formato mejorado.
Campos personalizados
Además de los campos de metadatos estándar proporcionados para un endpoint, dispone de la flexibilidad de añadir campos personalizados para enriquecer aún más los metadatos del endpoint.
Los parámetros de petición son opciones que pueden pasarse con la petición para controlar la devolución de datos o modificar la respuesta del servidor.
Los parámetros de petición incluyen parámetros de consulta, parámetros de ruta, parámetros de encabezado y parámetros de cuerpo.
Los parámetros de consulta son pares clave-valor añadidos al final de una URL después de un signo de interrogación ?, y separados por & de la siguiente manera: ?id=2&status=available. Se utilizan para filtrar, ordenar o modificar la salida de un endpoint de API.
INFO
En Apidog, los parámetros de consulta se describen en una sección separada para mayor claridad y organización. Sin embargo, al enviar una petición, estos parámetros de consulta se concatenan con la ruta del endpoint de la forma descrita anteriormente.
Los parámetros de ruta forman parte de la propia URL del endpoint y se utilizan para identificar un recurso o entidad específico dentro de la API.En Apidog, los parámetros de ruta se indican mediante llaves en lugar de dos puntos. Ejemplo correcto: /pets/{id}, ejemplo incorrecto: /pets/:id.Si necesita usar variables en un parámetro de ruta, el enfoque recomendado es definirlo como {parameter} en la URL y, a continuación, usar {{variable}} para el valor del parámetro. Por ejemplo:
Recomendado: coloque la variable en el valor del parámetro de ruta
No recomendado: coloque la variable directamente en la URL
No confunda {parameter} y {{variable}}
{parameter}: las llaves simples representan parámetros de ruta en Apidog. Los parámetros de ruta son marcadores de posición en la ruta de la URL que cambian dinámicamente a valores específicos cuando se accede al endpoint de API.
{{variable}}: las llaves dobles incluyen variables dentro de las peticiones. Estas variables pueden sustituirse por valores reales cuando se envía la petición, lo que permite una entrada dinámica y personalizable en las interacciones con la API.
Por qué NO usar {{variable}} en la ruta
Usar {{variable}} no cumple con la OAS. Seguir la OAS permite una integración fluida con diversas herramientas dentro del ecosistema OpenAPI.
Usar {{variable}} en la ruta impedirá el uso de la funcionalidad de mock de patrón de URL en Apidog.
Los parámetros de encabezado proporcionan información adicional sobre la petición que se está realizando y normalmente se utilizan para autenticación, tipo de contenido y otros metadatos.
Los parámetros de cuerpo contienen los datos que se enviarán en el cuerpo de la petición, normalmente utilizados en peticiones POST, PUT y PATCH para crear o actualizar un recurso. Los datos normalmente se envían en formato JSON o XML.
Los parámetros deben describirse con su nombre, tipo (cadena, entero, booleano, etc.), necesidad (obligatorio u opcional) y cualquier valor predeterminado o restricción.Al describir parámetros, se utilizan comúnmente las siguientes propiedades clave:
Propiedad
Descripción
Nombre
Especifica el nombre del parámetro que se describe. Es un campo obligatorio y debe representar con precisión el parámetro que se está definiendo.
Tipo
Especifica el tipo de datos del valor del parámetro. Los valores comunes incluyen string, number, integer, boolean, array, object y más. Esta propiedad ayuda a definir el formato y la estructura del valor del parámetro.
Descripción
Proporciona una breve explicación o documentación sobre el parámetro. Ayuda a los usuarios a comprender el propósito y el uso del parámetro.
Obligatorio
Especifica si el parámetro es obligatorio para la petición de API. Es un valor booleano (true o false) que indica si el parámetro debe incluirse en la petición.
Configuración avanzada
Define el tipo de datos, el formato y las restricciones del parámetro. Le permite proporcionar información detallada sobre la estructura y el contenido esperados del valor del parámetro.
Editor de tipos
Puede modificar de forma eficiente la configuración avanzada de los parámetros mediante el Editor de tipos. Obtenga más información sobre el Editor de tipos.
Cuando el tipo de parámetro de cuerpo es JSON o XML, debe configurarse la estructura de datos. La estructura de datos puede hacer referencia a los esquemas.
Más información
Para obtener información detallada sobre los esquemas, consulte Esquemas.
Después de enviar una petición a la API, el servidor devuelve una respuesta. Definir las respuestas esperadas y proporcionar ejemplos ilustrativos son pasos cruciales que mejoran la comprensibilidad y la facilidad de uso para los desarrolladores que interactúan con su API.
La definición de la respuesta devuelta incluye principalmente las siguientes partes:
Componente
Descripción
Código de estado HTTP
Determine todos los posibles estados de respuesta que su endpoint podría devolver, incluidas respuestas estándar como 200 (OK), 404 (Not Found) o 500 (Server Error).
Formato de datos
Defina el formato de la respuesta que la API devolverá para cada código de estado. Podría estar en JSON, XML, HTML, Raw, Binary o cualquier otro formato adecuado.
Esquema
Para las respuestas que transportan datos (principalmente el estado 200), detalle la estructura de la carga útil de la respuesta. Esto incluye especificar tipos, objetos anidados, campos opcionales y matrices. Las definiciones claras ayudan a los desarrolladores cliente a comprender qué datos esperar y cómo analizarlos. Solo JSON y XML pueden configurar esquemas. Para obtener información detallada, consulte Esquemas.
Ejemplo
Proporcionar una respuesta de ejemplo es esencial para ilustrar cómo se comporta la API en escenarios reales. Idealmente, un ejemplo debe ser un conjunto de datos de muestra devuelto por el servidor cuando se invoca el endpoint con una petición predefinida. Debe reflejar la estructura, el formato de datos y los tipos definidos por el esquema de la respuesta.
En general, se recomienda definir al menos una respuesta correcta y una respuesta de error para cada endpoint en la documentación de su API. Esta práctica garantiza una cobertura completa de diversos resultados potenciales, proporcionando a los desarrolladores una comprensión clara de cómo se comporta la API en distintos escenarios.Haga clic en el botón + Añadir en la esquina superior derecha del módulo Respuestas para añadir respuestas.
Normalmente, en el diseño de API, aunque las respuestas correctas 200 OK suelen diferir entre diversos endpoints debido a necesidades distintas de datos de salida, las respuestas de error como 400 Bad Request y 404 Not Found tienden a ser coherentes entre distintos endpoints. Apidog aborda de forma inteligente esta característica común con su función Componente de respuesta, que permite reutilizar respuestas de error predefinidas, haciendo que el proceso de documentación de la API sea más eficiente y que el comportamiento de la API sea más coherente.
Si no se necesita un componente de respuesta, puede optar por Añadir respuesta en blanco para definir respuestas únicas dentro de endpoints individuales.
Haga clic en "Añadir ejemplo" para incluir ejemplos de respuesta en Apidog.Una sola respuesta puede admitir múltiples ejemplos diversos. Al añadir ejemplos, proporcione un nombre para el ejemplo y los datos de respuesta correspondientes.
Después de completar la especificación del endpoint, haga clic en "Guardar" para guardar sus cambios. A continuación, cambie a la pestaña "API" para obtener una vista previa del endpoint que acaba de configurar.