Spring validation

Spring validation
VA
  • Rejestracja:ponad 8 lat
  • Ostatnio:11 miesięcy
  • Postów:127
0

Witam,

Piszę aplikację i podczas walidacji obiektu jako body param występują dwa problemy. Pierwszy to brak zwracanych error messages z pola np.

Kopiuj
@NotBlank(message = "Not blanksdasasa")

Natomiast drugi to adnotacja @Size przy polu typu String. Jak szczelam z Postmana to działa poprawnie jak z frontu to nie waliduje.

Kontroler

Kopiuj
    @ResponseStatus(HttpStatus.CREATED)
    @PostMapping(value = "/add", consumes = MediaType.APPLICATION_JSON_VALUE)
    void add(@RequestBody @Valid final X x) {
        subjectService.add(x);
    }

Obiekt

Kopiuj
@Builder(access = AccessLevel.PACKAGE)
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@NoArgsConstructor(access = AccessLevel.PACKAGE)
@Getter
@EqualsAndHashCode
@ToString
class X {

    @NotBlank(message = "Not blanksdasasa")
    @Size(min = 1, max = 100, message = "Zły zakres")
    private String name;
}

Czy ktoś może mnie nakierować co robię źle? Z góry dzięki za pomoc

edytowany 3x, ostatnio: vakil
S9
Ale lombkowe rzygowizny :(
OtoKamil
  • Rejestracja:około 10 lat
  • Ostatnio:około rok
  • Postów:143
0

Jak szczelam z Postmana to działa poprawnie jak z frontu to nie waliduje.

Co znaczy "nie waliduje"? Pomija walidacje i zwraca 201 czy dostajesz jakiś inny błąd? Wejdź sobie w Inspect w dev toolsach i zobacz jakie headery i wartości przesyłasz (i najlepiej tu wrzuć oba curl'e z Postmana i frontu)

Co znaczy "działa poprawnie"? W pierwszej części piszesz, że te adnotacje Ci nie działają i nie dostajesz errorów

edytowany 3x, ostatnio: OtoKamil
VA
  • Rejestracja:ponad 8 lat
  • Ostatnio:11 miesięcy
  • Postów:127
0

Jak szczelam z postmana to adnotacja size waliduje, jak z frontu to nie działa (muszę dodać dodatkowo notBlank). I jak już jest sytuacja że walidacja wychwyci błąd to nie zwraca w response error message.

PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:4 miesiące
  • Postów:2787
1

Podaj nam tu konkretne http body z postmana i z frontu. Bo jeśli np wysłałbyś np samą spację, to @Size byłby zadowolony (minimum 1) ale już @NotBlank Ci to wychwyci

edytowany 1x, ostatnio: Pinek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.