我有这个控制器:
@Controller
public class HelloWorldController {
@RequestMapping("/hello.html")
public ModelAndView helloWorld() {
String message = "Hello World, Spring 3.0!";
return new ModelAndView("hello", "message", message);
}
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String viewLogin(Map<String, Object> model) {
User user = new User();
model.put("userForm", user);
return "LoginForm";
}
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String doLogin(@Valid @ModelAttribute("userForm") User userForm,
BindingResult result, Map<String, Object> model) {
if (result.hasErrors()) {
return "login";
}
return "LoginSuccess";
}
}我有两个方法,对于相同的url /login有不同的http方法,所以当单击第一个url 'localhost:8080/project_name/login‘时,第一个带有GET的方法将被处理,并将我重定向到/LoginForm
因此,根据我的理解,第二个方法处理程序将不会被执行,因为对/login的请求总是使用GET.
如果我的理解是错误的,请向我解释如何执行第二种方法,谢谢。
发布于 2018-05-21 20:24:23
浏览器默认选择GET方法。因此,如果你尝试一下postman,你就会看到不同之处。您可以选择GET / POST。对于实时,他们也会从UI中提到具体的GET请求/ Post请求,所以不用担心。
你可以用邮递员找个更好的办法
https://stackoverflow.com/questions/50425667
复制相似问题