Валидаторы клиента Java Spring не работаютJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Валидаторы клиента Java Spring не работают

Сообщение Anonymous »

Я пытаюсь создать собственное правило проверки для моего API Java Spring. У меня есть CredentialCreateDTO, который имеет массив строк с именем validRedirectUris. Я пытаюсь проверить, что каждая строка в validRedirectUris является допустимым URL-адресом.
Вот мой код:

Код: Выделить всё

package main.controller;

import main.dto.credentials.CredentialCreateDTO;
import main.model.Credential;
import main.response.BaseResponse;
import main.service.CredentialsService;

import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/oauth/credentials")
public class CredentialsController {

private final CredentialsService credentialsService;

@Autowired
public CredentialsController(CredentialsService credentialsService) {
this.credentialsService = credentialsService;
}

@PostMapping("")
public ResponseEntity createCredentials(@Valid @RequestBody CredentialCreateDTO credentialCreateDto) {
Credential credential = credentialsService.createCredentials(credentialCreateDto);
BaseResponse response = new BaseResponse(credential, "credential", "/oauth/credentials");
return ResponseEntity.ok(response);
}
}

Код: Выделить всё

package main.dto.credentials;

import main.util.ValidUrl;

import java.util.List;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import org.springframework.validation.annotation.Validated;

@Getter
@Setter
public class CredentialCreateDTO {
@NotNull(message = "validRedirectUris cannot be null")
@Size(min = 1, message = "validRedirectUris must have at least one element")
@ValidUrl(message = "Invalid URL")
private List validRedirectUris;

@NotNull(message = "scopes cannot be null")
@Size(min = 1, message = "validRedirectUris must have at least one element")
private List scopes;

// Constructor
public CredentialCreateDTO(List validRedirectUris, List scopes) {
this.validRedirectUris = validRedirectUris;
this.scopes = scopes;
}

// Default constructor for deserialization
public CredentialCreateDTO() {
}
}

Код: Выделить всё

package main.util;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

@Documented
@Constraint(validatedBy = UrlValidator.class)
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ValidUrl {
String message() default "Invalid URL";

Class[] groups() default {};

Class

Подробнее здесь: [url]https://stackoverflow.com/questions/79175965/java-spring-customer-validators-not-working[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»