Spring Boot MockMvc通过Body传Json字符串

简介: Spring Boot MockMvc通过Body传Json字符串

在实践的过程中我们通常会传递一个json字符串,然后通过Spring Boot中的@RequestBody将字符串解析为对应的对象。

那么,此时如果使用MockMvc来模拟请求并进行单元测试,该如何处理呢?下面给大家演示一下具体的实例。

Controller中方法的定义如下:

@RestController
public class JsonController {
  @PostMapping("/addUser")
  public void addUser(@RequestBody User user) {
    System.out.println("userNo: " + user.getUserNo());
    System.out.println("username: " + user.getUsername());
    System.out.println("age: " + user.getAge());
    System.out.println("createDate: " + user.getCreateDate());
  }
}

对应的单元测试类代码如下:

@SpringBootTest
@AutoConfigureMockMvc
class JsonControllerTest {
  @Autowired
  private MockMvc mockMvc;
  @Test
  void addUser() throws Exception {
    String user = "{\"userNo\":\"1000\",\"username\":\"Tom\",\"age\":18,\"createDate\":\"2019-12-31T02:51:52" +
        ".326+0000\"}";
    mockMvc.perform(
        MockMvcRequestBuilders.post("/addUser").content(user).contentType(MediaType.APPLICATION_JSON)
    );
  }
}

在上述代码中将json字符串放置于content中,同时需要指定content中字符串的类型为Json。然后执行单元测试即可完成测试。需要注意的是此处使用的是Junit5。


同时在业务代码中通过@RequestBody来接收json字符串并赋值转换绑定到具体的对象上。




目录
相关文章
|
5月前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
2月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
52 2
|
2月前
|
JSON Java 数据格式
springboot中表字段映射中设置JSON格式字段映射
springboot中表字段映射中设置JSON格式字段映射
166 1
|
3月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
92 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
4月前
|
XML JSON 前端开发
json字符串CSS格式化
完成以上步骤后,你便能在网页中看到格式化后的JSON数据,它们将按照CSS定义的样式进行展示,使数据更易于阅读和理解。通过有效地结合JSON和CSS,你可以创建出更加丰富且易于交互的网页内容。
218 64
|
3月前
|
JSON 前端开发 Java
【Spring】“请求“ 之传递 JSON 数据
【Spring】“请求“ 之传递 JSON 数据
102 2
|
3月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
428 7
|
3月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
90 2
|
4月前
|
XML JSON 前端开发
json字符串CSS格式化
json字符串CSS格式化
73 5
|
4月前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式

热门文章

最新文章