下面是我的方法
@RequestMapping(value = "/authorise", method = {RequestMethod.POST,RequestMethod.GET})
public String authorise(@RequestParam(name = "checkout_token", required = false) final String checkoutToken,
final Model model, final RedirectAttributes redirectModel) {
boolean success = false;
try
{
success = affirmPaymentFacade.authorisePayment(checkoutToken);
}
catch (RuntimeException re)
{
LOG.warn("error during payment authorisation ", re);
}
if(success){
final OrderData orderData;
try
{
orderData = getCheckoutFacade().placeOrder();
}
catch (final Exception e)
{
LOG.error("Failed to place Order", e);
//TODO-BE auth reversal
//GlobalMessages.addErrorMessage(model, "checkout.affirm.order.failed");
return REDIRECT_PREFIX + CHECKOUT_AFFIRM_ERROR;
}
return redirectToOrderConfirmationPage(orderData);
}else {
//GlobalMessages.addErrorMessage(redirectModel,"checkout.affirm.authorisation.failed");
return REDIRECT_PREFIX + CHECKOUT_AFFIRM_ERROR;
}
}
当get请求被调用时,它工作正常,但是当我们用post请求和请求有效负载checkout\u token=x调用时,我得到下面的错误
warn[hybrishttp24][defaulthandlerexceptionresolver]已解析[org.springframework.web.httprequestmethodnotsupportedexception:请求方法'post'不受支持]
编辑
即使我尝试删除所有的参数,但到目前为止仍然没有运气。
2条答案
按热度按时间7gyucuyw1#
尝试为此url禁用csrf令牌
njthzxwz2#
首先是关于在stackoverflow上更好地发布的一些信息:
将您的问题减少到尽可能紧凑的代码(如果您在方法的路由方面遇到问题,那么您在方法中的代码并不重要)
由于使用了springmvc,这不是hybris唯一的问题。你会在 Spring mvc论坛上得到更多的答案,就像在hybris stackoverflow中一样。
请包括你们的进口货
使用此代码:
}
方法可通过get和post访问:
也许你试图使用错误的网址?