Servidor de OpenAPI y dos ejemplos

This commit is contained in:
Juan Manuel Gutiérrez 2024-05-22 05:36:08 -06:00
parent eb8f14ed16
commit f37e9fa996
4 changed files with 108 additions and 1 deletions

View File

@ -1,3 +1,7 @@
# openapi-demo
# **Código para ejecutar un especificación en OpenAPI**
## Instalación
Utilice los componentes swa
Ejemplo de un servicio de OpenAPI con swagger

77
empleados.yaml Normal file
View File

@ -0,0 +1,77 @@
openapi: 3.0.0
info:
title: API de Ejemplo de Usuarios
description: API para administrar usuarios
version: 1.0.0
servers:
- url: https://miapp.midominio.com/tienda/
paths:
/usuarios:
post:
summary: Agregar un nuevo usuario
description: Crea un nuevo usuario en la aplicación.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
nombre:
type: string
edad:
type: integer
responses:
'201':
description: Usuario creado con éxito
'400':
description: Error en la solicitud
/usuarios/{id}:
delete:
summary: Borrar un usuario existente
description: Elimina un usuario de la aplicación por su ID.
parameters:
- in: path
name: id
required: true
description: ID del usuario a borrar
schema:
type: integer
format: int64
responses:
'204':
description: Usuario eliminado con éxito
'404':
description: Usuario no encontrado
put:
summary: Actualizar un usuario existente
description: Actualiza la información de un usuario existente en la aplicación por su ID.
parameters:
- in: path
name: id
required: true
description: ID del usuario a actualizar
schema:
type: integer
format: int64
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
nombre:
type: string
edad:
type: integer
responses:
'200':
description: Usuario actualizado con éxito
'400':
description: Error en la solicitud
'404':
description: Usuario no encontrado

12
example.yaml Normal file
View File

@ -0,0 +1,12 @@
openapi: 3.0.0
info:
version: 1.0.0
title: Sample API
description: A sample API to illustrate OpenAPI concepts
paths:
/list:
get:
description: Returns a list of stuff
responses:
'200':
description: Successful response

14
server.js Normal file
View File

@ -0,0 +1,14 @@
const YAML = require('yamljs')
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const openApiDocument = YAML.load('./empleados.yaml');
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(openApiDocument));
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`Servidor corriendo en http://localhost:${PORT}`);
});