Modelando DTO com @UISchema

Anote seus campos para descrever rótulos, controles e validações que serão refletidos no OpenAPI (x-ui) e consumidos pelo frontend.

Exemplo completo

import jakarta.validation.constraints.*;
import org.praxisplatform.uischema.extension.annotation.UISchema;
import org.praxisplatform.uischema.FieldControlType;
import org.praxisplatform.uischema.FieldDataType;

public class PessoaDTO {
  @UISchema(label = "Nome Completo", placeholder = "Ex.: Maria da Silva")
  @NotBlank @Size(max = 120)
  private String nomeCompleto;

  @UISchema(type = FieldDataType.NUMBER, controlType = FieldControlType.INPUT, label = "Departamento")
  @NotNull
  private Long departamentoId;

  @UISchema(type = FieldDataType.DATE, label = "Data de Admissão")
  private java.time.LocalDate dataAdmissao;

  @UISchema(type = FieldDataType.BOOLEAN, controlType = FieldControlType.SWITCH, label = "Ativo?")
  private Boolean ativo;
}
      

Dicas

Campos com opções (id/label)

Você pode combinar com endpoints de options (POST /options/filter, GET /options/by-ids) e anotar o label no DTO.

OptionsLabelId

Ver também