springboot前端传输数据检验

在Spring Boot中,前端传输数据的验证流程通常涉及以下步骤:

  1. 前端数据收集:前端通过表单或其他方式收集用户输入的数据。

  2. 数据传输:前端将收集到的数据通过HTTP请求发送给后端。

  3. 后端数据接收:Spring Boot后端接收到前端发送的HTTP请求。

  4. 后端数据验证:后端对接收到的数据进行验证,确保数据的合法性和完整性。

  5. 验证结果返回:后端将验证结果返回给前端,通常以JSON格式返回。

下面是一个简单的示例,演示了如何在Spring Boot中进行前端数据验证的流程:

  1. 前端页面(HTML):
<form action="/submit" method="post">
  <input type="text" name="username" placeholder="Username" required>
  <input type="password" name="password" placeholder="Password" required>
  <button type="submit">Submit</button>
</form>
  1. 后端控制器(Controller):
@RestController
public class UserController {
    
    

  @PostMapping("/submit")
  public ResponseEntity<String> submitForm(@Valid @RequestBody UserForm userForm, BindingResult bindingResult) {
    
    
    if (bindingResult.hasErrors()) {
    
    
      // 处理验证错误
      List<FieldError> errors = bindingResult.getFieldErrors();
      StringBuilder sb = new StringBuilder();
      for (FieldError error : errors) {
    
    
        sb.append(error.getField()).append(": ").append(error.getDefaultMessage()).append("\n");
      }
      return ResponseEntity.badRequest().body(sb.toString());
    }

    // 验证通过,处理业务逻辑
    // ...

    return ResponseEntity.ok("Success");
  }
}
  1. 数据模型(Model):
public class UserForm {
    
    

  @NotBlank(message = "Username is required")
  private String username;

  @NotBlank(message = "Password is required")
  private String password;

  // Getters and setters
}

使用@Valid注解来标记要验证的数据对象UserForm,并通过BindingResult对象获取验证结果。在UserForm类的字段上,我们使用了@NotBlank注解来验证字段是否为空。

如果验证失败,会将错误信息构建成一个字符串,并以400 Bad Request的HTTP状态码返回给前端。如果验证通过,可以继续处理业务逻辑,并以200 OK的HTTP状态码返回成功消息。

猜你喜欢

转载自blog.csdn.net/kkwyting/article/details/133426534