Детальная информация
| Название | Интерактивная система автоматического проектирования GraphQL API: выпускная квалификационная работа бакалавра: направление 02.03.03 «Математическое обеспечение и администрирование информационных систем» ; образовательная программа 02.03.03_01 «Интеллектуальные информационные системы и обработка данных» = An Interactive System for Automatic GraphQL API Design |
|---|---|
| Авторы | Ващилко Алексей Витальевич |
| Научный руководитель | Щербаков Николай |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | Graphql ; Graphql-схема ; DSL ; AST ; автоматическая генерация API ; веб-приложение ; автоматизация проектирования ; Graphql schema ; automatic API generation ; web residence ; design automation |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 02.03.03 |
| Группа специальностей ФГОС | 020000 - Компьютерные и информационные науки |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3973 |
| Права доступа | Доступ по паролю из сети Интернет (чтение) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\42699 |
| Дата создания записи | 21.08.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
В данной работе рассмотрены методы автоматизации проектирования GraphQL API на основе формализованных пользовательских требований. Проведён анализ технологии GraphQL, её преимуществ по сравнению с REST-подходом, а также исследованы существующие решения автоматической генерации GraphQL-схем. Выявлены ограничения существующих подходов, связанные с жёсткой привязкой к структуре базы данных, REST-спецификациям или необходимостью ручного проектирования схем. Предложен алгоритм автоматического синтеза GraphQL-схемы на основе формализованного описания запросов к данным. В качестве промежуточных представлений используются Domain Specific Language (DSL) и Abstract Syntax Tree (AST). Разработанный алгоритм включает этапы формирования пользовательского запроса, нормализации данных, построения AST, анализа связей между сущностями, валидации модели и генерации итоговой GraphQL-схемы. Разработано веб-приложение, реализующее интерактивное проектирование GraphQL API. Реализованы механизмы формирования DSL-запросов, автоматического построения AST и генерации GraphQL-схемы с поддержкой CRUD-операций, Query, Mutation и связей между сущностями. Проведено тестирование разработанного приложения, включающее проверку формирования полей, генерации DSL, построения AST, генерации GraphQL-схемы и обработки ошибок. Результаты тестирования показали корректную работу всех функциональных модулей системы и устойчивость к ошибкам пользовательского ввода.
This paper examines methods for automating GraphQL API design based on formalized requirements. An analysis of GraphQL technology and its advantages over the REST approach is provided, along with a study of existing solutions for automatic GraphQL schema generation. Limitations of existing approaches related to tight coupling to database provisioning, REST specifications, or the need for manual schema design are identified. An algorithm for synthesizing GraphQL schemas based on a formalized description of a data query is proposed. A domain-specific language (DSL) and an abstract syntax tree (AST) are used as intermediate representations. The developed algorithm includes the steps of generating a user query, data normalization, AST construction, entity relationship analysis, model validation, and generating the final GraphQL schema. A web application implementing interactive GraphQL API design was developed. Mechanisms for generating DSL queries, automatically constructing ASTs, and generating GraphQL schemas with support for CRUD operations, queries, mutations, and entity relationships were implemented. Testing of the developed application was performed, including validation, field generation, DSL generation, AST construction, GraphQL schema generation, and error handling. The results confirm the correct operation of all installed system modules and their robustness to user input errors.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|