0.5.4 • Published 1 year ago
pumapi v0.5.4
Термины
Фрагмент API - любая часть REST API приложения. Например: контроллер, параметр запроса, тело запроса, endpoint.
Структура
metadata.ts
- константы ключей метыdecorator
- декораторы, устанавливающие мета-данныеdeserializer
- преобразует ресурсы в объектыexplorer
- собирает и нормализует мета-данные о фрагментах APInest
- подклбчает плагин во фреймворкopenapi
- набор классов, представляющих типы OpenAPI. Используются для построения спецификацииscanner
- собирает по приложению мета-данные для построения специйикации OpenAPIschema-generator
- преобразует класс ресурса в json-schema для запросов и ответовserializer
- преобразует объекты в ресурсы
Использование мета-данных
Explorer`ы - это внутренниие классы плагина. Обычно, они не применяются на уровне приложения.
Сериализация
Для сериализации ресурсов и коллекций вводится специальный тип сущности - Serializer.
Десериализация
При десериализации может быть использован умный RelationshipsResolver, который автоматически получит указаные в запросе отношения ресурса из храниилща.
Построение JSONSchema
Плагин умеет основываясь на классе ресурса строить JSONSchema для запросов и ответов.
Построение спецификации OpenAPI
Плагин умеет извлекать из прилолжения все endpoint`ы и, основываясь на их мета-данных, строить спецификацию REST API. Учитываются параметры запроса, классы принимаемых и возвращаемых ресурсов.