Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Return a 302 status code in Spring MVC Controller

I am developing a Spring MVC app, and I need to check in my controller a certain condition. In case it were true, I have to return a 302 status code. It's something like this:

@RequestMapping(value = "/mypath.shtml", method = RequestMethod.GET)
public ModelAndView pageHandler(@Valid MyForm form, BindingResult result, HttpServletRequest request,
        Locale locale) throws PageControllerException, InvalidPageContextException, ServiceException {

    if (someCondition){
        // return 302 status code
    }
    else{
        // Do some stuff
    }
}

Which is the best way to do this?

Thank you very much in advance

like image 249
Genzotto Avatar asked Jan 10 '23 11:01

Genzotto


1 Answers

I finally managed to do it using @ResponseStatus, as shown here:

https://stackoverflow.com/a/2067043/2982518

UPDATE

This is the way I finally did it:

@ResponseStatus(value = HttpStatus.MOVED_TEMPORARILY)
public class MovedTemporarilyException extends RuntimeException {

    // ...
}

@RequestMapping(value = "/mypath.shtml", method = RequestMethod.GET)
public ModelAndView pageHandler(@Valid MyForm form, BindingResult result, HttpServletRequest request,
        Locale locale) throws PageControllerException, InvalidPageContextException, ServiceException {

    if (someCondition){
        throw new MovedTemporarilyException();
    }
    else{
        // Do some stuff
    }
}
like image 152
Genzotto Avatar answered Jan 18 '23 08:01

Genzotto