【问题标题】:Pass data between controller methods in spring mvc在spring mvc中的控制器方法之间传递数据
【发布时间】:2018-04-14 07:35:04
【问题描述】:

我正在使用 Spring MVC 调用 RESTful Web 服务,我必须将一个服务数据传递给其他服务,如下所示,请让我知道传递日期的最佳和安全方式。

Code Example:

@RequestMapping(value = "/verify", method = RequestMethod.GET)
public ModelAndView getToken() {
    ModelAndView model = new ModelAndView();
    model.addObject(new VerifyIdentityBean());
    model.setViewName("verifyIdentity");
    return model;
}

@RequestMapping(value = "/verify", method = RequestMethod.POST)
    public ModelAndView getTokenPost() {
       **// Here I will call one web service by passing form input
      // I need to pass that service repose to next form post method**
        ModelAndView model = new ModelAndView();
        model.setViewName("redirect:/userinfo");
        return model;
}

@RequestMapping(value = "/userinfo", method = RequestMethod.GET)
public ModelAndView getuser() {
    ModelAndView model = new ModelAndView();
    model.addObject(new UserBean());
    model.setViewName("userinfo");
    return model;
}

@RequestMapping(value = "/userinfo", method = RequestMethod.POST)
    public ModelAndView getUserPost() {
       **//Here I want first post method service response to pass input to next web service
       // Here I will call one web service by passing above input**
    return model;
}

【问题讨论】:

    标签: java spring spring-mvc model-view-controller


    【解决方案1】:

    我认为没有必要通过model.setViewName("redirect:/userinfo"); 调用 Web 方法。因为他们在同一个服务,为什么不直接调用呢。

    @AutoWired
    CustomService service;
    
    @RequestMapping(value = "/verify", method = RequestMethod.POST)
    public ModelAndView getTokenPost() {
        ModelAndView model = service.getUserPost();
        // do some modify.
        return model;
    

    }

    我们通常在接口中定义restful api,即使你不需要接口。我们通常在另一个服务层实现 Web 服务。这有两个好处: 1. 与控制器和服务解耦。 2.服务是可重用的。就像上面的代码一样。

    【讨论】:

    • 感谢您的回复,我也只在服务层调用 Web 服务,但我的要求是我想在第二个中保留来自 post 方法的第一个服务响应数据,因为我需要作为输入传递给第二个网络服务。
    猜你喜欢
    • 2016-02-05
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    相关资源
    最近更新 更多