Русский
Открыть в Telegram

Пост Типобезопасный REST API вместе с Zod

27 августа 2024
З
Заметки про React
Ссылка
нажмите — покажем
Типобезопасный REST API вместе с Zod При работе с REST API нельзя быть уверенным в том, что вернется в ответе запроса. Даже если используешь TypeScript и пишешь типы для ответа, то запрос все равно может вернуть другой ответ, в следствие чего может произойти runtime ошибка. Если хотите быть уверенными в том, что возвращает REST API, то используйте валидацию ответа через Zod схемы. В этом случае, если ответ запроса не соответствует ожиданию, выбросится ошибка. Пример: const FetchedDataSchema = z.object({ id: z.number(), name: z.string(), }); type FetchedData = z.infer<typeof FetchedDataSchema>; function DataFetchingComponent() { const fetchData = async (): Promise<FetchedData> => { const response = await fetch('https://api.example.com/data'); const data = await response.json(); return FetchedDataSchema.parse(data); }; /* --snip-- */ } https://noahflk.com/blog/typesafe-rest-api
44 · 3.4K ·

Рядом в ленте

ЗЗаметки про ReactСоздание стейт менеджера за 40 строк Пример простого стейт менеджера для React, работающего через хук useSyncExternalStore. Хук useSyncExternalStore появился в ЗЗаметки про ReactGoogle Translate может сломать React приложение Браузерное расширение Google Translate может сломать React приложение. Это связано с тем, что, когда расширение
это сообщение
ЗЗаметки про ReactОбработка ошибок в React Server Components В серверных компонентах React могут возникать ошибки. Для их обработки можно использовать ErrorBoundary из react-erroЗЗаметки про ReactСерверные функции в Tanstack Router В Tanstack Router появилась возможность использовать серверные функции. // getServerTime.ts import { createServerFn } from '
ЗЗаметки про ReactЗаметки про React@ru_react_notes · канал · Технологии
3 412подписчиков491постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем