Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

validacao com objetos dentro

as validações de phone, email etc da mesma classe funciona. mas dentro do objetos eles não funcionam as validações. Estou usando MongoDb o plano seria o seguinte o objeto Address nao seria obrigatorio, mas se ele for instanciado, ai todos os campos dentro dele são

public class InvestorDto {

@NotNull
private UUID externalId;


private UUID internalId;


@NotBlank
@Size(max = 60)
private String name;


@NotBlank
@Size(max = 20)
@JsonProperty(index = 1)
private String phone;


@Size(max = 60)
private String email;


private AddressDTO address;
3 respostas

@Getter @Setter @NoArgsConstructor //@JsonInclude(JsonInclude.Include.NON_NULL) //@JsonPropertyOrder({ "city", "state", "address", "postalCode", "country"}) //@JsonRootName(value = "address") public class AddressDTO {

// @JsonView(value = {View.InvestorView.PUT.class, View.InvestorView.POST.class}) @NotNull @NotBlank private String city;

// @JsonView(value = {View.InvestorView.PUT.class, View.InvestorView.POST.class, View.InvestorView.External.class}) @NotNull @NotBlank private String state;

//@JsonView(value = {View.InvestorView.PUT.class, View.InvestorView.POST.class, View.InvestorView.External.class})
@NotNull
@NotBlank
@JsonAlias("address")
private String addressName;

//@JsonView(value = {View.InvestorView.PUT.class, View.InvestorView.POST.class, View.InvestorView.External.class})
@NotNull
private String postalCode;

@PostMapping // @JsonView(value = View.InvestorView.External.class) public ResponseEntity addInvestor(@RequestBody @Valid //@JsonView(value = View.InvestorView.POST.class) InvestorDto investorDto, @NonNull UriComponentsBuilder uriBuilder) { InvestorDto dto = this.investorService.add(investorDto); URI uriRecurse = uriBuilder.path("/Investors/{externalId}").buildAndExpand(dto.getExternalId()).toUri(); return ResponseEntity.created(uriRecurse).body(dto); }

solução!

resposta:

@Valid em cima do objeto!

https://cursos.alura.com.br/forum/topico-propagacao-do-valid-107905