Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Golang Code Generation Web Framework

Этот проект представляет собой небольшой фреймворк на Go для автоматической генерации HTTP-хендлеров на основе кодогенерации. Он позволяет упростить создание веб-интерфейсов с валидацией параметров, проверкой авторизации и обработкой ошибок, основываясь на структуре и методах Go.

О проекте

Программа автоматически генерирует код для методов структур, которые помечены специальными метками. Сгенерированные хендлеры включают:

  • Обертки для HTTP-запросов.
  • Проверку методов (GET/POST).
  • Проверку авторизации.
  • Валидацию параметров.
  • Заполнение структуры параметрами метода.
  • Обработку ошибок.

Основной принцип заключается в том, что программа читает Go-файл с описанием структур и методов, а затем генерирует для них необходимый код для обработки HTTP-запросов, используя предоставленные аннотации.

Как работает кодогенерация

Кодогенератор использует встроенные инструменты Go для анализа исходного кода (AST) и автоматически создает обертки для методов, которые обрабатывают параметры запроса, выполняют валидацию и авторизацию, а также возвращают результаты в формате JSON.

Пример использования

Пример запуска кодогенератора:

go build handlers_gen/* && ./codegen api.go api_handlers.go

Программа возьмет файл api.go, проанализирует его и сгенерирует код для хендлеров, который будет записан в файл api_handlers.go.

Структура проекта

  • handlers_gen/codegen.go — основная логика кодогенерации.
  • api.go — пример файла с методами и структурами, для которых генерируется код.
  • api_handlers.go — результат работы программы, содержащий сгенерированные HTTP-хендлеры.
  • main.go — пример использования сгенерированного кода.

About

Web-framework на основе кодогенерации Go

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages