首页 > 解决方案 > MockMvc 将字符集附加到内容类型标头

问题描述

将 Spring Boot v 2.3.4 升级到 2.3.8 后。一些测试失败了。我发现 MockMvc 自动将字符集附加到内容类型标头。

  var request = post("/proxy/airbank/oauth2/token")
                .header("Content-Type", "application/json")
                .content("{\"key\":\"value\"}");

在控制器中以格式到达标头

MockHttpServletRequest:
  HTTP Method = POST
  Request URI = /proxy/airbank/oauth2/token/revoke
   Parameters = {b1Key=[b1Value], b2Key=[b2Val]}
      Headers = [Content-Type:"application/x-www-form-urlencoded;charset=UTF-8", cipherId:"tCipherIdFromRequest", Content-Length:"25"]
         Body = b1Key=b1Value&b2Key=b2Val
Session Attrs = {}

我无法说服 MockMvc 禁用自动添加这个烦人的功能......

仅供参考:我正在验证标题的确切内容,手动更新/更改测试将花费大量时间

标签: spring-bootmockmvc

解决方案


推荐阅读