如何解决如何使用 MockMvc 发送空正文 POST 请求
我有一个简单的 Controller 类,我正在尝试使用 MockMvc 对其进行测试。目前,控制器类只是一个端点,旨在接受一个空的 POST 主体并返回一个 200 响应。
控制器:
@RestController
@RequestMapping("/api/v1/transactions")
public class TransactionController {
@PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.OK)
public Transaction createTransaction(@RequestBody final Transaction transaction) {
return transaction;
}
}
测试:
class TransactionControllerTest {
private static final String URL_TEMPLATE = "/api/v1/transactions";
@Autowired
private MockMvc mockMvc;
@Test
void shouldReturn200() throws Exception {
final String emptyBody = "{}";
mockMvc.perform(post(URL_TEMPLATE)
.contentType(MediaType.APPLICATION_JSON)
.content(emptyBody))
.andExpect(status().isOk());
目前,测试返回 NPE。但是,当我在本地运行应用程序并通过邮递员提交带有标题 Content-Type = application/json & Accept = application/json 且原始正文为 {} 的 POST 请求时,我得到了成功的 200 响应。
我是不是用空字符串和 mockMvc 做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。