我有一个支持GET
和POST
请求的资源。这是示例资源的示例代码:
@RequestMapping(value = "/books", method = RequestMethod.GET)
public ModelAndView listBooks(@ModelAttribute("booksFilter") BooksFilter filter, two @RequestParam parameters, HttpServletRequest request)
throws ParseException {
LONG CODE
}
@RequestMapping(value = "/books", method = RequestMethod.POST)
public ModelAndView listBooksPOST(@ModelAttribute("booksFilter") BooksFilter filter, BindingResult result)
throws ParseException {
SAME LONG CODE with a minor difference
}
这两种方法中的代码实际上是相同的,除了让我们说一个变量定义。这两种方法可以很容易地结合使用method = {RequestMethod.POST, RequestMethod.GET}
, 和一个简单的if
里面。我试过了,但它不起作用,因为这两种方法最后有不同的参数,即HttpServletRequest
和BindingResult
(@RequestParam
's 不是必需的,因此在POST
请求中不需要)。任何想法如何结合这两种方法?