Una simple demostración de API web con documentación de Swagger, manejo de errores personalizados, pruebas unitarias, JSONPatch y un probador HTTPClient. Cuenta con videos de YouTube de estilo tutorial para algunos temas.
El objetivo de este proyecto GitHub es demostrar una aplicación simple de API web de Crud con tutoriales adicionales (incluidos videos de YouTube) y referencias que incluyen swagger, pruebas unitarias, jsonpatch, manejo y visualización de errores personalizados, probadores de clientes, etc.
La solución de Visual Studio tiene tres proyectos: Contosopizza (API web), Contosopizza.Tests (pruebas unitarias) y Webapiclient (una simple aplicación de consola HTTPClient)

El controlador, el modelo y las clases de servicio con su resumen de miembros del proyecto de API web Contosopizza se muestran a continuación.

Esta es una API web simple que sigue el patrón estándar de Crud (Crear, leer, actualizar y eliminar). Las imágenes de demostración de las operaciones API se muestran a continuación por categoría.






Aquí hay algunas capturas de pantalla que muestran la demostración de JSONPatch de la API web.


Aquí está la referencia del código.
[
{
"value": "ModifiedPizza",
"path": "/name",
"op": "replace"
}
]

Este es un gran video de referencia de tutorial si desea obtener más información sobre la configuración, la instalación y el uso de JSONPatch para su proyecto de API web.
Actualización de datos con jsonpatch | Serie de principiante a API web
JSONPATCH EN API web ASP.NET Core
Este tutorial y proyecto de demostración mostrarán cómo configurar, configurar y codificar un controlador de error personalizado simple para el proyecto Contoso Pizza Web API.
Los desarrolladores deben planificar errores no controlados en el código. El proyecto Contoso Pizza Web API demuestra cómo hacer esto. En la demostración, se crea un punto final que siempre lanza una excepción no controlada. El proyecto tiene un controlador de error personalizado que maneja y registra las excepciones antes de devolver un objeto de modelo de problema estándar al usuario. El controlador de error se especifica en la configuración del programa para enrutar a un controlador de error personalizado cuando no se ejecuta en un entorno de desarrollo. El entorno de desarrollo se especifica en la configuración del perfil de lanzamiento de depuración, con el valor predeterminado de producción a menos que se especifique lo contrario.
Para ver las diferencias en la pantalla de error entre el desarrollo y la producción, primero ejecute la API en modo de desarrollo. Pruebe el punto final que siempre desencadena una excepción no controlada. En la interfaz de usuario de Swagger, puede ver los detalles de respuesta y excepción. La ventana del navegador tiene una vista de desarrollador separada y elegante de los resultados del error.
Para ejecutar la API en modo de producción, elimine la variable de entorno o establezca manualmente el valor en la producción. Dado que la interfaz de usuario de Swagger no se ejecuta en modo de producción, deberá probar el punto final API manualmente con una URL. El resultado final para el usuario es un error general con un identificador. Un usuario crearía un boleto de problema con esta información. La compañía podría completar la solución detallada de problemas que coinciden con el identificador de error con un registro interno más detallado.

Este tutorial y proyecto de demostración le mostrará cómo agregar, configurar, configurar y verificar la documentación de Swagger en su proyecto WebAPI desarrollador. Los resultados finales están en este repositorio de código.
Swashbuckle y Swagger son dos herramientas populares utilizadas para generar documentación de desarrolladores para API web. SwashBuckle es un paquete que se puede agregar a un proyecto ASP.NET Core Web API para integrar la interfaz de usuario de Swagger. Tiene tres componentes principales: swashbuckle.aspnetcore.swagger, que es un modelo de objeto Swagger y un middleware para exponer los objetos SwaggerDocument como puntos finales JSON; Swashbuckle.aspnetcore.swaggergen, que es un generador de arrogancia que construye objetos SwaggerDocument directamente desde sus rutas, controladores y modelos; y swashbuckle.aspnetcore.swaggerui, que es una versión incrustada de la herramienta Swagger UI. Interpreta Swagger JSON para construir una experiencia rica y personalizable para describir la funcionalidad de la API web. Swagger (OpenAPI) es una especificación de lenguaje agnóstico para describir las API REST. Permite tanto a las computadoras como a los humanos comprender las capacidades de una API REST sin acceso directo al código fuente. Sus objetivos principales son minimizar la cantidad de trabajo necesario para conectar los servicios desacoplados. ¹³⁴

Este tutorial y proyecto de demostración mostrarán cómo configurar, configurar y codificar un simple HttpClient para el proyecto Contoso Pizza Web API.
En este video de YouTube, aprenderemos cómo crear un proyecto de aplicación de consola simple que se conecte a una API web y lo pruebe. El video incluye una breve demostración del proyecto que ejecuta y generando resultados de la API. Obtendremos el archivo OpenAPI ejecutando primero nuestro webapi localmente para mostrar la interfaz de usuario de Swagger. El archivo JSON para nuestra API web se puede descargar y guardar en nuestro directorio de proyectos. Hay otro video en la serie de la lista de reproducción que muestra cómo configurar y configurar la documentación de Swagger. El siguiente paso es agregar un nuevo proyecto de aplicación de consola a nuestra solución. Esta será la aplicación HTTPClient para conectarse a nuestra API web. A continuación, agregaremos una referencia de servicio OpenAPI desde el archivo Swagger UI JSON que guardamos anteriormente. Visual Studio generará automáticamente la clase de código del cliente necesaria para interactuar con la API web de Pizza Contoso. Echaremos un vistazo a la clase de código autogenerado. El constructor necesita una instancia de objeto HTTPClient y la URL base de la API web en ejecución. Si ejecuta su API web localmente, puede encontrarla desde el perfil de lanzamiento de depuración. Finalmente, podemos codificar nuestro proyecto para crear una referencia de servicio HTTPClient y proxy a la API web de pizza de UI Contoso e intentar recuperar algunas pizzas. Asegúrese de que la aplicación API web ya se ejecute localmente antes de ejecutar la aplicación de consola HTTPClient.

Este tutorial y proyecto de demostración mostrarán cómo configurar, configurar y codificar pruebas unitarias simples para un proyecto webapi.
En este video, discutiremos cómo escribir pruebas unitarias simples para una API web con operaciones de controlador CRUD. Usaremos paquetes XUNIT y falsificación para escribir las pruebas. Cubriremos los conceptos básicos de las pruebas unitarias, incluida la forma de configurar el proyecto de prueba, cómo escribir pruebas para cada operación de Crud y cómo usar XUNIT y FALSEIASY para crear simulacros y trozos. También discutiremos las mejores prácticas para escribir pruebas unitarias, como mantener las pruebas independientes y garantizar que sean fáciles de leer y mantener.

Aunque se hicieron referencia a tutoriales, videos y documentación, este proyecto es creativamente mi propio código y estilo para demostrar mi experiencia técnica y contribuir al conocimiento tecnológico colectivo sobre GitHub. He enumerado algunas de las fuentes donde dibujé algunos ejemplos y conocimientos de código.
Serie de principiante a: API web
Microsoft Learn: cree una API web con controladores Core ASP.NET
Fuente: Conversación con Bing, 10/10/2023 (1) Comience con Swashbuckle y ASP.NET Core. https: //learn.microsoft.com/en-us/asp ... (2) documentación de API web de ASP.NET Core con Swagger/Openapi. https: //learn.microsoft.com/en-us/asp ... (3) ¿Qué es Swagger, Swashbuckle y Swashbuckle UI? https: //stackoverflow.com/questions/4 .... (4) Mejore la experiencia del desarrollador de una API con documentación de Swagger .... https: //learn.microsoft.com/en-us/tra .... ASP.NET Documentación central en Github
JSONPATCH EN API web ASP.NET Core