Spring boot Can';t从改装回调返回CompletableFuture.completedFuture
弹簧靴2.2 改装2 我需要创建异步http请求。返回结果后重定向到Spring boot Can';t从改装回调返回CompletableFuture.completedFuture,spring-boot,retrofit2,spring-async,Spring Boot,Retrofit2,Spring Async,弹簧靴2.2 改装2 我需要创建异步http请求。返回结果后重定向到重定向:/cart 她是我的控制器: @Autowired private OrderService orderService; @PostMapping(value = "/productEntry") public String submitProductEntry(ProductEntry productEntry, Model model) { try {
重定向:/cart
她是我的控制器:
@Autowired
private OrderService orderService;
@PostMapping(value = "/productEntry")
public String submitProductEntry(ProductEntry productEntry, Model model) {
try {
orderService.addProductToCart(productEntry);
} catch (InterruptedException e) {
logger.error(e);
}
return "redirect:/cart";
}
这是我的服务:
@Service
public class OrderService {
private static Logger logger = LogManager.getLogger(OrderService.class);
@Async
public CompletableFuture<Cart> addProductToCart(ProductEntry productEntry) throws InterruptedException {
logger.info("addProductToCart: productEntry = " + productEntry);
TransportService.addProductToCart(productEntry, new DefaultRestClientCallback<JsonElement>() {
@Override
public void onSuccess(Response<JsonElement> response) {
//super.onSuccess(response);
JsonElement responseJson = response.body();
logger.info("addProductToCart: onSuccess: responseJson = " + responseJson);
Cart cart = GsonUtil.gson.fromJson(responseJson, Cart.class);
logger.info("addProductToCart: cart = " + cart);
return CompletableFuture.completedFuture(cart);
}
@Override
public void onError(ErrorResponse errorResponse) {
//super.onError(errorResponse);
logger.error("addProductToCart: error = " + errorResponse);
}
});
}
}
错误:
Cannot return a value from a method with void result type
return CompletableFuture.completedFuture(cart);
Cannot return a value from a method with void result type