La API de entrega de contenido de Umbraco simplifica la gestión de un CMS sin cabeza, permitiendo que el contenido gestionado en Umbraco salga en un formato consumible por clientes sin cabeza. Estos clientes pueden ir desde sitios web .NET Core a dispositivos IoT, pero la mayoría serán clientes basados en JavaScript como Next.js, Nuxt.js, Angular Universal, y sus homólogos del lado del cliente, entre otros.
Desde mi punto de vista, las ventajas de TypeScript sobre JavaScript plano son sustanciales. TypeScript ofrece seguridad tipográfica, mejores herramientas y una mejor capacidad de mantenimiento, lo que lo convierte en la opción preferida para proyectos web front-end significativos. Por lo tanto, confiar únicamente en JavaScript plano no es aconsejable. Sin embargo, la Content Delivery API de Umbraco no entrega Swagger tipado por defecto. Entonces, ¿cómo solucionamos esto?
En primer lugar, es importante señalar que la solución descrita a continuación aún no está disponible para Umbraco 14. En segundo lugar, un mensaje directo a la sede de Umbraco: el valor de esta solución es lo suficientemente importante como para que se integre en el código base de Umbraco en lugar de seguir siendo un complemento de la comunidad.
La base de esta solución la proporciona el paquete Umbraco Delivery API Extensions, creado por los coautores de ByteCrumb Laura Neto y Vitor Rodrigues. Al instalar este sencillo paquete NuGet, la API de entrega entrega Swagger tipado, incluyendo información de tipo de campo, como se detalla en el sitio web del paquete.
El siguiente paso consiste en generar tipos TypeScript a partir del Swagger tipado. Para ello, hemos seguido el artículo de Rick Butterfield: TypeScript OpenAPI Umbraco Content Delivery. Para la mayoría de los proyectos front-end, esto implica dos pasos:
Dado que es probable que los tipos de documento de Umbraco evolucionen durante el desarrollo, este script debería ser fácilmente invocable e incluirse en los scripts de compilación package.json.
Los beneficios de TypeScript son lo suficientemente sustanciales como para considerar comenzar un nuevo proyecto en Umbraco 13 para aprovechar el paquete Umbraco Delivery API Extensions, con un plan para migrar a Umbraco 14 una vez que el paquete esté disponible. ¡Feliz programación!
El equipo de Given Data LLC monitorea continuamente los avances en el espacio de gestión de contenido, lo que nos mantiene por delante de la competencia. ¿Necesidad urgente? llamanos