Z's blog
首页
分类
标签
归档
Github
在 Junit 使用 MockMvc 对 Controller 层进行单元测试时,发现控制台打印的响应结果中文出现乱码,导致断言异常(预期值与结果不符)。
通过自定义注解,拓展 JSR 303规范,以实现校验参数中多个字段不可同时为空的情况。即指定字段列表中,至少一个为非空值。
JSR 303
使用 @DateTimeFormat 可以对非 Json (即未被 @RequestBody 修饰的)参数进行反序列化,该注解由 Spring Boot 提供,与序列化工具无关。而需要处理 Json 参数时,则必须借助 Json 序列化框架来实现。
@DateTimeFormat
@RequestBody
restTemplate 是 spring 提供的基于 restful 设计的 http 请求客户端。
需要对 api 编写测试类,可以采用的方式:
在登录授权时,需要从 header 中获取 token 进行鉴权,通常使用过滤器处理指定的访问请求,但在使用 @WebFilter 注解时,发现其路径匹配模式不生效,即 url、urlPatterns 属性配置后,拦截了所有请求。
@WebFilter
url、urlPatterns
由于在 bootstrap.yml 文件中配置 CI/CD 的环境变量,而本地开发时并没有相关环境,所以需要手动切换其属性,在提交代码时,需要关注该配置文件是否会与云端冲突,极其浪费精力。因此需要能够屏蔽本地与云端配置差异的手段。
bootstrap.yml
出入参同时支持 XML 和 JSON 格式。