javax.validation не работает при загрузке RESTful-приложения? - PullRequest
0 голосов
/ 30 января 2020

я пытаюсь проверить мой класс Model, который называется user. java, я пытаюсь проверить столбец, чтобы он не был пустым, а адрес электронной почты должен быть в формате электронной почты, и я использую @RepositoryRestController для создания моего CRUD API , но как мне сделать это правильно?

вот мой пользователь. java:

package com.mechadevapi.mechadev.Models;

import java.util.Date;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;

import org.springframework.data.annotation.Id;

public class User {

    @Id
    public String Id;

    @NotBlank(message = "is empty")
    public String username;
    @NotBlank(message = "is empty")
    @Email(message = "should be email")
    public String email;
    @NotBlank(message = "is empty")
    public String firstname;
    public String lastname;
    @NotBlank(message = "is empty")
    public String password;
    @NotBlank(message = "is empty")
    public String level;
    @NotBlank(message = "is empty")
    public Boolean activation;
    public Date entry_time;
    public Date last_login;

    public String getId() {
        return Id;
    }

    public void setId(String id) {
        Id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getFirstname() {
        return firstname;
    }

    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }

    public String getLastname() {
        return lastname;
    }

    public void setLastname(String lastname) {
        this.lastname = lastname;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public Boolean getActivation() {
        return activation;
    }

    public void setActivation(Boolean activation) {
        this.activation = activation;
    }

    public Date getEntry_time() {
        return entry_time;
    }

    public void setEntry_time() {
        Date entry_time = new Date();

        this.entry_time = entry_time;
    }

    public Date getLast_login() {
        return last_login;
    }

    public void setLast_login() {
        Date last_login = new Date();

        this.last_login = last_login;
    }



}

и вот мой репозиторий, UserRepository. java:

package com.mechadevapi.mechadev.Repository;

import javax.validation.Valid;

import com.mechadevapi.mechadev.Models.*;

import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

@RepositoryRestResource(collectionResourceRel = "user", path = "user")
@Valid
public interface UserRepository extends MongoRepository<User, String> {

}

когда я пытаюсь опубликовать данные с помощью почтальона, который выглядит следующим образом:

{
    "username" : "admin",
    "email" : 123,
    "firstname" : "ad",
    "lastname" : "min",
    "password" : "123456",
    "level" : "administrator",
    "activation" : true
}

данные все еще сохранены, это как аннотация javax.validation не работает, как мне проверить это правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...