发生的错误:
{
"status" : 1,
"code" : 0,
"message" : "It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false)",
"param" : null,
"data" : null
}
与错误发生相关的代码:
@RestController
@RequestMapping(value = "/cashier/v1")
public class PayController {
@ApiOperation("pay for shop")
@GetMapping(value = "/pay")
public ResponseVO<PayResponseVO> pay(ShopPayRequestVO requestVO, HttpServletRequest request) {
return payService.pay(requestVO, request);
}
}
@Service
@Slf4j
public class PayServiceImpl implements IPayService {
@Override
public ResponseVO<PayResponseVO> pay(ShopPayRequestVO requestVO, HttpServletRequest request) throws AuthorizationException {
log.info("pay request param:{}", JSON.toJSONString(requestVO));
PayResponseVO vo = new PayResponseVO();
......
vo.setOrderNo(businessOrderNo);
vo.setShopId(requestVO.getShopId());
log.info("pay response param:{}", JSON.toJSONString(vo));
return ResponseVO.success(vo);
}
}
@Data
public class PayResponseVO {
private Object payInfo;
private String orderNo;
private String shopId;
}
单步调试所有代码都能正常执行,但前端还是有错误,我遇到了这个错误,但网上没有合适的解决方案,我自己解决了,下面分享解决方案
1条答案
按热度按时间7ajki6be1#
我的项目中解决这个问题的办法:
PayResponseVO. Java类需要实现可序列化接口