Spring Boot Validation

验证表单输入(接口参数)是Web 开发 (API 接口开发)中不可缺少的一个部分。 @NotBlank Validation 首先我们从最简单的不能为空判断开始,介绍 Spring Boot Validation。 假设我们需要提供一个登陆接口,输入用户名密码,返回是否登陆成功。 在去数据库查询用户名密码是否正确之前,我们可以做一些简单的验证。 在 LoginRequest 的 username 和 password 参数上加上 @NotBlank。 在 UserController::login() 方法接收输入的 loginRequest 前面加上 @Valid 。 这样当用户输入的用户名或则密码为空的时候,就不会继续进入到下面的业务逻辑,在验证参数的阶段就可以直接返回 400 错误。 Bean Validation 使用 @NotBlank 完成第一个参数验证的例子的时候,会有这样一个问题:@NotBlank 注解是不是 Spring 框架自带的,这样的注解一共有多少个。 这个时候我们就需要了解一个 Bean…

 857 total views,  1 views today

Published

java.lang.IllegalArgumentException: Invalid character found in the request target.

最近在使用 Spring Boot 开发项目的时候遇到了这样一个错误: java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 请求中包含无效字符,有效字符的定义请查看 RFC 7230 和 RFC 3986。 查看了一下我的请求参数,应该是 [] 字符被 Tomcat 当作无效字符处理了。 Request Params: expressNumber[]=111&expressNumber[]=222&expressNumber[]=333 在网上找了一下解决方案,需要在 Tomcat 配置文件中添加…

 2,510 total views,  1 views today

Published

Spring Boot Security

开发一个 RESTful 接口的过程中,权限认证是必不可少的一个重要功能。 这里我们以 Spring Boot Security 为例,实现一个自定义的 Token 认证。 大致流程如下: 用户 -> 登录页面 -> 用户中心 -> 获取token 用户 -> token-> 当前应用 -> token-> 用户中心 -> 认证 首先我们新建配置文件 SecurityConfig。 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Bean public TokenAuthenticationFilter…

 741 total views,  1 views today

Published