Spring Boot验证

121 阅读5分钟

Spring Boot Validation

Spring Boot验证简介

在Spring Boot中,我们可以很容易地应用验证;它比Spring框架要容易得多。我们在Spring Boot中有一个验证器,使用起来也很简单。要使用它,我们不需要实现或配置任何复杂的逻辑;我们只需在对象中添加valid注解就可以开始使用验证,它将在内部为我们做这些事情。在spring boot中,它将自动为我们做这个验证部分,而不需要实现任何东西。在这里,我们将看到它是如何在内部工作的,以及我们如何在我们的应用程序中开始使用它,在我们的代码中应用服务器端验证。

Spring Boot验证的语法

我们可以在spring boot控制器类上使用valid注解。要使用这个,我们需要遵循spring boot框架给出的基本标准。

@RestController class your_class { @PostMapping("/your_end_point") ResponseEntity<return_type> your_method(@Valid @RequestBody Your-object obj) { // logic goes here . } }

正如你在上面这行语法中看到的,我们正试图使用@Valid注解来验证我们的对象通过。这是很容易使用和处理的。在这里,我们将更详细地看看还有哪些配置需要到位。

例子。

@RestController class Demo { @PostMapping("/test") void test(@Valid @RequestBody Emp emp) { // logic goes here. } }

从上面这段语法可以看出,我们只需要用spring boot的@Valid注解对方法和对象进行注解。

验证在Spring Boot中是如何工作的?

正如我们已经知道的,我们不需要在spring boot中做大量的配置来验证控制器级别的对象;这也被称为服务器端验证。为此,我们可以使用spring boot的@Valid注解,它在内部为我们做了所有的事情,在控制器中验证对象。

在这里,我们将看到如何在我们的spring boot应用程序中使用它来验证控制器的请求对象。

1.1.在pom.xml或build.gradle中添加依赖性。

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>

为了在应用程序中使用这个注解,我们必须要有这个依赖关系。添加后,我们可以访问实体类中的各种验证约束来验证它们。

2.成功添加依赖关系后,我们现在可以在我们的实体类中添加验证约束,以使用@Valid注解来验证请求中的对象。

在这里,我们将看到一段示例代码来展示我们如何在实体中使用各种验证约束。

例子。

@Entity @Table(name = "EMP") public class Employee implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private Long id; @Column(name = "NAME") @NotBlank(message = "Employee Name is mandatory to fill !!") private String name; @Enumerated @Column(name = "STATE_ID") private State state; @Column(name = "CITY") @NotBlank(message = "employee city is mandatory to fill !!") private String city; @Column(name = "DEPARTMENT_NAME") @NotBlank(message = "employee department Name is mandatory to fill !!") private String departmentName; @Column(name = "SALARY") @NotBlank(message = "employee salary is mandatory to fill !!") private Double salary; }

正如你在上面的代码中看到的,我们已经创建了一个带有一些验证约束的实体,该类的名称是Employee,现在我们可以使用spring boot提供的验证器来验证这个对象。

3.现在,在这之后,我们应该有一个休息控制器,它负责为我们处理HTTP请求。现在,我们必须为它提供一个名称和方法,以处理请求,并仅在方法层面上验证对象。

在这里,我们将看到如何使用spring boot框架中的@Valid注解来做到这一点。

例子。

@RestController public class EmployeeController { @PostMapping("/validate") ResponseEntity<String> addEmp(@Valid @RequestBody Employee emp) { // your logic will go here ..// } }

正如你在上面的代码中所看到的,我们首先创建了一个带有@RestController注解的类,这将告诉spring它将为我们处理请求。之后,我们创建了一个名为addEmp的方法,负责将雇员添加到数据库中。但在这个方法中,我们有两个东西@Valid和@RequestBody,它们将为我们把json转换成相应的spring对象。@Valid首先根据我们创建的实体验证对象,同时我们也提供了他们的验证约束;如果工作正常,那么它将进入下一步保存对象;否则,它将为我们抛出一个异常。

4.现在,最后一步是创建Spring主类来启动应用程序;这个类只有相同的结构;我们可以给它命名任何我们想要的东西,不受限制。

@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

这是一个主类,应用程序的初始化将从这里开始。没有它,应用程序将无法工作;在这里,我们必须使用@SpringBootApplication注解和这个类中的main方法。

总结

服务器端验证是非常必要的,它可以验证对象是否包含有效值。它也将确保对象是有效的,并可用于进一步的处理或操作。它非常容易使用和处理;我们只需要注意我们在Spring Boot框架中使用这种验证时添加的依赖关系即可。

推荐文章

这是一份关于Spring Boot验证的指南。在这里,我们讨论了介绍和验证在Spring Boot中如何工作?分别是。你也可以看看下面的文章,了解更多信息

  1. Maven Repository Spring
  2. 春天启动开发工具
  3. 春天AOP
  4. 春天的云组件

The postSpring Boot Validationappeared first onEDUCBA.