


25 октября опубликован Orval 8.45.0. Этот инструмент создаёт TypeScript-клиенты по описанию API в OpenAPI или Swagger. Новая версия уточняет типы обработчиков MSW и исправляет формирование параметров запросов в fetch-клиенте. На Mentoring.digital объясняем, почему после повторной генерации стоит проверить не только компиляцию, но и фактические URL.
Для массивов с pipeDelimited и spaceDelimited генератор раньше мог использовать запятые. Теперь выбираются разделители, заданные стилем параметра: вертикальная черта или пробел с необходимым URL-кодированием. Явно заданный стиль имеет приоритет перед общей настройкой arrayFormat.
Исправлена и передача объектов с query-стилем form: вместо содержимого объекта в URL могло оказаться [object Object]. При explode=true свойства передаются отдельными параметрами, а при explode=false ключи и значения собираются через запятые. Эти формы нельзя произвольно заменять друг другом: сервер должен ожидать тот же контракт.
Для команды это повод найти в спецификации параметры-массивы и параметры-объекты. Сначала нужно понять их style и explode, затем сравнить получаемый запрос с ожидаемым сервером форматом.
В сгенерированных обработчиках MSW типизированы параметры пути и тело запроса в аргументе resolver info. Изменение затрагивает и overrideResponse. MSW позволяет подменять сетевые ответы при разработке и тестировании; более точные типы помогают заметить несоответствие в коде обработчика раньше запуска сценария.
Типизация мока не доказывает, что реальный сервер вернёт такой же ответ. Отдельно нужны проверки соответствия спецификации и фактического обмена данными, особенно если API или его описание менялись независимо от клиента.
В документации Orval для ветки 8 указана Node.js не ниже 22.18. Сначала сверьте это требование со средой генерации, включая CI. Разобрать границы между типами клиента, моками и ответом сервера можно с ментором по TypeScript.