1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/brucelwl-netty-rest

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

netty-rest

Описание проекта

Проект реализует функциональность аналогичную Spring MVC @RestController для HTTP-запросов, используя Netty. Не требуется внешний servlet-контейнер, проект реализует REST-стильные HTTP-запросы с использованием Spring и Netty, а также поддерживает функциональность Spring @RestController.

Netty предоставляет поддержку HTTP через объект FullHttpRequest, который позволяет получить URL и метод HTTP-запроса. Однако, нет обработки URL для выполнения соответствующих действий. Поэтому основная идея проекта заключается в следующем:

  1. Создание пользовательских аннотаций: @Rest, @ReqMapping, @ReqParam. Аннотация @Rest используется для маркировки класса контроллера, @ReqMapping — для маркировки метода, соответствующего определенному URL, а @ReqParam — для маркировки параметров метода, соответствующих параметрам HTTP-запроса.

  2. Разработка класса PackageScanUtils для сканирования классов в указанном пакете.

  3. Использование рефлексии для получения классов, помеченных аннотацией @Rest, и их инстанцирования. Затем получение значений аннотаций @Rest и @ReqMapping, формирование URL и сохранение их в ConcurrentHashMap в виде пар ключ-значение, где ключ — это URL, а значение — это соответствующий метод Method и объект. При получении запроса от клиента URL используется для получения метода Method и объекта из карты, и затем метод выполняется с помощью рефлексии.4. Возврат результата выполнения метода через FullHttpResponse. Перед возвратом проверяется тип результата: если это строка, то она возвращается через ChannelHandlerContext.write, а для других типов используется JSON.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Основанный на Netty реализации HTTP-сервера, способ использования аналогичен Spring MVC's @RestController. Развернуть Свернуть
Java
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/brucelwl-netty-rest.git
git@api.gitlife.ru:oschina-mirror/brucelwl-netty-rest.git
oschina-mirror
brucelwl-netty-rest
brucelwl-netty-rest
master