cuanto a la comprobación de tipos de TypeScript, los métodos son conocidos porque en tiempo de escritura, importamos este tipo desde el servidor. Y esta es una importación solo de tipo, por lo que no crea una dependencia entre el código del cliente y el servidor. Pero importa este tipo, y luego lo pasamos a Cat and Web aquí. Y Cat and Web realmente hará que esta cosa tenga un tipo que hace que parezca que tiene todos los métodos correctos en él. Por supuesto, si prefieres no importar directamente desde tu código de servidor, podrías separar un archivo de interfaz de TypeScript por separado y hacer que ambos importen eso también. Todo funciona.
Así que antes de continuar con las características interesantes de Cat and Web, quiero establecer un caso de ejemplo. Así que digamos que estamos construyendo una API de chat o un servicio de chat como un Slack o un Discord. Y esta es una API REST básica para eso, para una versión simplificada de eso. Ahora, estoy expresando esto de manera informal porque, como verás en un momento, si intentara expresarlo formalmente, se vuelve demasiado complicado. Pero esto es muy simple, directo. Tenemos un endpoint para obtener una lista de todos los nombres de salas. Tenemos un endpoint para obtener mensajes, el historial de chat de una sala en particular, tomar algunos parámetros de consulta, devolver algunos mensajes. Tenemos un endpoint para publicar un nuevo mensaje en una sala en particular. Y todos estos requieren autorización, por lo que podría venir en forma de un encabezado de autorización o tal vez una cookie.
Y sí, tenemos estos tipos de TypeScript que he definido al margen, que son representaciones de lo que vamos a poner en los parámetros de consulta o en la salida JSON aquí. Ahora, digamos que queremos convertir esta API a Cat and Web, y lo vamos a hacer de una manera un tanto ingenua y directa. Vamos a convertir cada uno de estos endpoints en un método en nuestra API de chat. Así que listar salas, obtener historial, enviar. Y con HTTP, tenemos muchos lugares diferentes en la solicitud donde puedes poner las entradas, pero en Cat and Web, solo tienes uno. Son solo los parámetros del método. Así que tenemos que tomar todas las cosas que estaban en una solicitud HTTP y convertirlas en parámetros aquí. Así que el token termina siendo un parámetro para cada uno de estos métodos. No hay URL. Ponemos el nombre de la sala como un parámetro, etc. Y luego podemos reutilizar estos tipos de TypeScript que definimos antes. Así que ¿cómo termina luciendo el código? Así que a la izquierda, tenemos un código para llamar a nuestra API REST. Y como es una API HTTP, tienes que llamar a fetch, y tienes que hacer una especie de mucho de este código repetitivo alrededor de configurar solicitudes HTTP. Y se pone un poco feo.
Comments