【发布时间】:2017-12-30 05:01:30
【问题描述】:
我在 Ui 上有一个带有 Angular js 的 spring mvc 应用程序。
我有以下要求
我从用户那里获得详细信息(考虑产品,数量)
我需要将详细信息作为发布请求连同重定向到支付网关网站一起发送到支付网关
现在我们将详细信息发送到基于 Angular js 构建的 UI,UI 向支付网关发送 post 请求,然后我们进入支付网关网站
由于我们向 UI 发送了大量敏感数据,因此我们希望实现对支付网关的重定向以及服务器端的发布请求,以确保安全。
我无法在 spring mvc 中使用控制器来做到这一点
我尝试了以下方法
1] forward://网站名称(因为这不适用于应用程序外部的 url)
@RequestMapping(value="/serverRedirection",method = RequestMethod.GET)
public String myMethod(HttpServletRequest request) {
RechargeDto rechargeDto = new RechargeDto();
rechargeDto.setAmount("500");
rechargeDto.setProvider("AT");
rechargeDto.setMobile("9892948061");
logger.info("Entered recharge controller");
String message = "Invalid from app";
request.getSession().setAttribute("amount", rechargeDto.getAmount());
request.getSession().setAttribute("mobile", rechargeDto.getMobile());
request.getSession().setAttribute("provider", rechargeDto.getProvider());
PauDto pauDto = rechargeService.passToPayu(Float.parseFloat(rechargeDto.getAmount()), 2l, "9898989898");
request.setAttribute("key", pauDto.getKey());
request.setAttribute("txnid", pauDto.getTxnid());
request.setAttribute("service_provider", pauDto.getService_provider());
request.setAttribute("firstname", pauDto.getFirstname());
request.setAttribute("amount", pauDto.getAmount());
return "forward:https://website";
}
2] 重定向(使用带有redirect://的重定向属性也没有帮助,因为应用程序被重定向到支付网关但没有发送数据(因为重定向不能用于转发请求)
@RequestMapping(value="/serverRedirection",method = RequestMethod.GET)
public String myMethod(RedirectAttributes request,HttpServletRequest req) {
RechargeDto rechargeDto = new RechargeDto();
rechargeDto.setAmount("500");
rechargeDto.setProvider("AT");
rechargeDto.setMobile("9892948061");
logger.info("Entered recharge controller");
String message = "Invalid from app";
PauDto pauDto = rechargeService.passToPayu(Float.parseFloat(rechargeDto.getAmount()), 2l, "9898989898");
pauDto.getService_provider());
request.addAttribute("firstname", pauDto.getFirstname());
request.addAttribute("amount", pauDto.getAmount());
return "redirect:https://website";
}
有什么办法可以做到这一点,或者有什么替代方法。
【问题讨论】:
标签: java angularjs http spring-mvc spring-security