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

OSCHINA-MIRROR/silentbalanceyh-vertx-zero

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

Расширенная валидация

После того как параметры были аннотированы с помощью @BodyParam и типизированы с помощью JsonObject, система zero также поддерживает другой метод проверки данных запроса.

1. Исходный код

import io.vertx.core.json.JsonObject;
import io.vertx.up.annotations.Codex;
import io.vertx.up.annotations.EndPoint;

import jakarta.ws.rs.BodyParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;

@EndPoint
@Path("/zero/type")
public class BasicTypeApi {

    @Path("/json")
    @POST
    public String testInteger(
            @BodyParam
            @Codex final JsonObject data) {
        return "Number: " + data.encode();
    }
}

2. Конфигурация

В такой ситуации вам нужно использовать только аннотацию @Codex, но вы должны предоставить конфигурацию up.god.file в вашем пути к классам следующим образом:

src/main/resources/codex/zero.type.json.post.yml

Имя файла конфигурации up.god должно быть путь + метод, если вы встретили переменную пути, такую как :name, вы можете заменить : на _ вместо этого, чтобы установить имя файла.

3. Содержание yml

username:
- type: "required"
  message: "User name should not be null.!"
- type: "length"
  min: 6
  max: 16
  message: "User name length must be between 6 adn 16!"
password:
- type: "required"
  message: "Password should not be null!"
- type: "minlength"
  min: 8
  message: "Password min length should be 8!"
  • Каждое поле должно быть узлом (key = JsonArray), массив json перечисляет все правила, которые будут применяться к этому полю.
  • Каждый элемент массива Json должен содержать атрибут type и message для описания правила, другие атрибуты являются конфигурацией.
  • Для типа, пожалуйста, обратитесь к следующей главе.

4. Поддержка типов валидации

  • required: Нет конфигурации
  • length:Конфигурация: min, max
  • minlength:Конфигурация:min
  • maxlength:Конфигурация:max

Другие находятся в разработке...

Опубликовать ( 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