原因:
前端使用Json传输参数,后端参数没有使用RequestBody注解,导致获取不到前端的参数。
修改方案:
Controller层应修改为如下注解
@PostMapping(value = “/xxx/xx/xxx”)
public ResultVo depositBillAttachmentDelete(@RequestBody xxxDto queryDto) {}
Controller层测试代码:需要传入dto的Json
@Test
public void depositBillAttachmentDeleteTest() throws Exception {
when(selfAttachmentManager.depositBillAttachmentDelete(any())).thenReturn(Boolean.TRUE);
AttachmentDeleteQueryDto queryDto = new AttachmentDeleteQueryDto();
queryDto.setVendorType(WtVendorTypeEnum.VENDOR_TRANSPORT);
queryDto.setAttachmentId(1L);
queryDto.setDepositBillNo("1234");
perform(post("/fscwtaccess/baseOperate/depositBillAttachment/w/delete").content(toJson(queryDto)))
.andExpect(resultVo().isOk()).andExpect(resultVo().data("SUCCESS"));
}
相关文档:https://blog.youkuaiyun.com/qq_22585453/article/details/84593997

当前端以Json方式传递参数时,由于后端控制器未使用@RequestBody注解,导致参数无法被捕获。解决方案是在Controller层的方法中添加@RequestBody注解,例如:@PostMapping("/xxx/xx/xxx") public ResultVo depositBillAttachmentDelete(@RequestBody xxxDto queryDto) {...} 并确保测试时传入正确的Json格式的dto。
4071

被折叠的 条评论
为什么被折叠?



