В системе Zero управление переменными сеанса отличается от других переменных, поскольку эта переменная не предоставляется непосредственно HTTP-запросом. Вместо этого пользователь сначала отправит некоторый запрос и сохранит данные в сеансе, а затем, когда они отправят запрос с тем же сеансом (vertx-web.session тот же), вы сможете использовать переменную сеанса в логической части вашего приложения/кода.
Примеры проектов:
up-rhea
package up.god.micro.params;
import io.vertx.up.annotations.EndPoint;
import io.vertx.up.annotations.SessionData;
import javax.ws.rs.*;
@EndPoint
@Path("/api")
public class SessionParamExecutor {
@POST
@Path("param/session/{id}")
@SessionData("user")
public String saveSession(
@PathParam("id") final String id) {
System.out.println(id);
return id;
}
@GET
@Path("param/session")
public String saySession(
@SessionParam("user") final String user
) {
System.out.println(user);
return user;
}
}
......
[ ZERO ] ( 2 Event ) Конечная точка up.god.micro.params.SessionParamExecutor просканировала 2 события Event, будет подключена к системе маршрутизации.
......
[ ZERO ] ( Uri Register ) "/api/param/session" был развёрнут агентом ZeroHttpAgent, параметры = Route...
[ ZERO ] ( Uri Register ) "/api/param/session/:id" был развёрнут агентом ZeroHttpAgent, параметры = Route...
......
Текущее тестирование учебника отличается от предыдущего, потому что здесь нам нужны два тестовых случая.
URL: http://localhost:6083/api/param/session
Метод: GET
Ответ:
{
"data": null
}
В этом тестовом случае нам нужно выполнить два шага, чтобы обработать ситуацию.
1 — Первый
URL: http://localhost:6083/api/param/session/lang.yu-vertx
Метод: POST
Ответ:
{
"data": "lang.yu-vertx"
}
2 — Второй
Повторите шаг 3.1, вы обнаружите другой ответ от нуля, он отличается от тестового случая 3.1.
{
"data": "lang.yu-vertx"
}
Этот учебник описывает использование сессии в системе zero, с помощью системы JSR311 zero была определена новая аннотация для обработки переменной сессии в системе zero. Вот дополнительные аннотации, такие как:
io.vertx.up.annotations.SessionData
Эта аннотация предоставляет ключ сеанса в качестве атрибута для хранения данных сеанса, она будет захватывать возвращаемое значение метода и сохранять его в сеансе. Затем мы можем использовать аннотацию @SessionParam, чтобы получить значение, которое вы сохранили в предыдущем запросе.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )