Чтобы прикрутить автогенерацию типов на чистом Rest API с использованием TypeScript, вы можете использовать инструменты, такие как OpenAPI или Swagger.
1. OpenAPI (ранее известный как Swagger) - это набор спецификаций, который позволяет описывать и документировать ваше API. Вы можете определить пути, параметры, запросы и ответы в формате JSON или YAML. Вам нужно создать файл OpenAPI спецификаций, который описывает ваше API.
Пример файла OpenAPI спецификаций:
openapi: 3.0.3 info: title: My API version: 1.0.0 paths: /users: get: description: Get a list of users responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/User' components: schemas: User: type: object properties: id: type: integer name: type: string
2. После создания файла спецификаций OpenAPI вы можете использовать инструменты, такие как openapi-generator
, чтобы сгенерировать TypeScript типы на основе спецификаций. Эти инструменты автоматически считывают спецификации и генерируют соответствующие типы TypeScript.
Пример применения openapi-generator
для генерации TypeScript типов:
openapi-generator generate -i swagger.yaml -g typescript-axios -o ./generated-types
3. После генерации типов TypeScript вы можете импортировать эти типы в свой код и использовать их для описания формата данных запросов и ответов вашего API.
Пример использования сгенерированных типов:
import { getUsers } from './api/users'; const users = await getUsers(); // users имеет тип User[], соответствующий схеме OpenAPI
Генерируемые типы документируют структуру данных, которые ваше API ожидает или возвращает. Это помогает вам избегать ошибок и предлагает автозаполнение типов в вашей IDE.
Вывод:
Используя спецификации OpenAPI и инструменты, такие как openapi-generator
, вы можете автоматически генерировать TypeScript типы для вашего Rest API. Это помогает вам быть уверенными в формате данных, которые ваше API ожидает или возвращает, и предлагает автозаполнение типов в вашей IDE.