Я предполагаю, что вы используете TypeScript в интерфейсе и бэкэнде.
Повторное использование пользовательского типа
Допустим, у нас есть репозиторий проекта, содержащий три основные папки: client
, server
и shared
.
В shared
у вас есть файл Types.ts
, который содержит все ваши определения пользовательских типов. Например:
export interface Person {
name: string;
age: number;
}
Теперь вы можете импортировать эти типы из любой подпапки, например .\client\src\components\SomeComponent.ts
или с сервера .\server\src\api\SomeRoute.ts
, с помощью:
import { Person } from `..\..\..\..\shared\Types.ts`;
Таким образом, у вас есть одинместо для определений типов, которые можно использовать для всего проекта на сервере и клиенте.
Генерация модели и документации JSON
Вы можете использовать ts-doc комментарии для документирования вашего API и ts-docs-gen для создания документа уценки.
Альтернативой будет typedoc . TypeDoc преобразует комментарии в исходном коде TypeScript в визуализированную документацию HTML или модель JSON. Вы можете настроить его так, чтобы учитывались только соответствующие файлы API.
Проверка во время выполнения
Что касается проверки ввода и вывода во время выполнения, вы можете написатьсобственная функция проверки для каждого типа, которая описана стереобустером в этой статье: язык-прагматика-io-validation-or-how-to-handle-jis-based-apis-in-static-typed-language . Или вы используете библиотеку, такую как io-ts .
Вероятно, не один инструмент подходит всем, потому что он сильно зависит от конкретных требований, которые вы хотите выполнить. Таким образом, составление набора инструментов из различных инструментов должно направить вас в правильном направлении. Не стесняйтесь оставлять ответ самостоятельно, если вы нашли подходящую для вас установку.