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

OSCHINA-MIRROR/silentbalanceyh-vertx-zero

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
d10003-jsr311-path-usage.md 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 04:28 85b9559

JSR311, использование @Path для EndPoint

В этом руководстве мы рассмотрим использование аннотации JSR311 javax.ws.rs.Path в системе zero. В ней поддерживаются два режима:

  • аннотация на классе или методе;
  • аннотация только на методе.

Пример проекта:

  • Standalone — 6083: up-rhea.

1. Класс/метод

Первый режим использует javax.ws.rs.Path на классе и методе следующим образом:

package up.god.micro.path;

import io.vertx.up.annotations.EndPoint;

import javax.ws.rs.GET;
import javax.ws.rs.Path;

@EndPoint
@Path("/api")
public class PathBoth {

    @Path("/path/both")
    @GET
    public String sayBoth() {
        return "Hi, welcome to path both ( Class / Method )";
    }
}

Этот пример использовался в предыдущих руководствах, здесь он является общим.

2. Только метод

Другой режим использования javax.ws.rs.Path выглядит так:

package up.god.micro.path;

import io.vertx.up.annotations.EndPoint;

import javax.ws.rs.GET;
import javax.ws.rs.Path;

@EndPoint
public class PathMethod {

    @Path("/api/path/method")
    @GET
    public String sayBoth() {
        return "Hi, welcome to path both ( Method Only )";
    }
}

Обратите внимание, что PathMethod не аннотирован с помощью javax.ws.rs.PATH, но всё равно корректно обрабатывается системой zero. Система zero будет сканировать оба примера.

3. Консоль

После запуска вашего приложения zero вы должны увидеть следующий вывод:

......
[ ZERO ] ( 3 EndPoint ) Система Zero обнаружила 3 компонента с @EndPoint.
[ ZERO ] ( 1 Event ) Конечная точка up.god.micro.path.PathBoth просканировала 1 событие Event, будет подключена к системе маршрутизации.
[ ZERO ] ( 1 Event ) Конечная точка up.god.micro.path.PathMethod просканировала 1 событие Event, будет подключена к системе маршрутизации.
......
[ ZERO ] ( Uri Register ) "/api/path/both" был развёрнут агентом ZeroHttpAgent, параметры = маршрут ...
[ ZERO ] ( Uri Register ) "/api/path/method" был развёрнут агентом ZeroHttpAgent, параметры = маршрут ...
[ ZERO ] ( Http Server ) Сервер ZeroHttpAgent успешно запущен. Конечная точка: http://172.20.16.41:6083/.
.....

4. Тестирование

Как только система zero запущена, вы можете протестировать обе конечные точки.

4.1. Запрос 1

URL: http://localhost:6083/api/path/method Метод: GET Ответ:

{
    "data": "Hi, welcome to path both ( Method Only )"
}

4.2. Запрос 2

URL: http://localhost:6083/api/path/both Метод: GET Ответ:

{
    "data": "Hi, welcome to path both ( Class / Method )"
}

5. Резюме

Теперь система zero работает, оба API опубликованы. Из этого руководства вы узнали:

  • javax.ws.rs.@Path можно использовать на классе/методе.
  • javax.ws.rs.@Path можно использовать только на методе.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/silentbalanceyh-vertx-zero.git
git@api.gitlife.ru:oschina-mirror/silentbalanceyh-vertx-zero.git
oschina-mirror
silentbalanceyh-vertx-zero
silentbalanceyh-vertx-zero
master