Spring:具有多个值的@RequestMapping

oxy*_*xyt 1 java spring

我不知道这是正确的方法,但这是我目前能想到的最简单的解决方案。

我想在@RequestMapping中使用多个值,并根据哪个值调用该方法来在方法中执行业务逻辑。例子:

@RequestMapping(value = {"/delete", "/save"}, method = RequestMethod.POST)
public String crudOps(@ModelAttribute ("userForm") User user) {

   // find user in repository....

   if(value is delete) // don't know how to make this check
      delete(user);
   else
      save(user);
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能使 if 语句起作用?

fal*_*our 5

添加上面的注释后,我通过访问 HttpServletRequest getServletPath 方法想到了一个不同的解决方案,

@RequestMapping(value = {"/delete", "/save"}, method = RequestMethod.POST)
public String crudOps(@ModelAttribute ("userForm") User user, HttpServletRequest request) {

   // find user in repository....

   if(request.getServletPath().equals("/delete"))
      delete(user);
   else
      save(user);
}
Run Code Online (Sandbox Code Playgroud)