Combine GET and POST request methods in Spring

前端 未结 3 969
醉酒成梦
醉酒成梦 2020-12-07 20:14

I have a resource that supports both GET and POST requests. Here a sample code for a sample resource:

@RequestMapping(value = \"/bo         


        
3条回答
  •  臣服心动
    2020-12-07 20:34

    @RequestMapping(value = "/testonly", method = { RequestMethod.GET, RequestMethod.POST })
    public ModelAndView listBooksPOST(@ModelAttribute("booksFilter") BooksFilter filter,
            @RequestParam(required = false) String parameter1,
            @RequestParam(required = false) String parameter2, 
            BindingResult result, HttpServletRequest request) 
            throws ParseException {
    
        LONG CODE and SAME LONG CODE with a minor difference
    }
    

    if @RequestParam(required = true) then you must pass parameter1,parameter2

    Use BindingResult and request them based on your conditions.

    The Other way

    @RequestMapping(value = "/books", method = RequestMethod.GET)
    public ModelAndView listBooks(@ModelAttribute("booksFilter") BooksFilter filter,  
        two @RequestParam parameters, HttpServletRequest request) throws ParseException {
    
        myMethod();
    
    }
    
    
    @RequestMapping(value = "/books", method = RequestMethod.POST)
    public ModelAndView listBooksPOST(@ModelAttribute("booksFilter") BooksFilter filter, 
            BindingResult result) throws ParseException {
    
        myMethod();
    
        do here your minor difference
    }
    
    private returntype myMethod(){
        LONG CODE
    }
    

提交回复
热议问题