Question: I have a REST endpoint implemented with Spring MVC @RestController. Sometime, depends on input parameters in my controller I need to send http redirect on client. 

Is it possible with Spring MVC @RestController and if so, could you please show an example ?

Answer: 
Came across this question and was surprised that no-one mentioned RedirectView. I have just tested it, and you can solve this in a clean 100% spring way with: 

```
@RestController
public class FooController {

    @RequestMapping("/foo")
    public RedirectView handleFoo() {
        return new RedirectView("some-url");
    }
}

```
`redirect` means http code `302`, which means `Found` in springMVC. 

Here is an util method, which could be placed in some kind of `BaseController`:

```
protected ResponseEntity found(HttpServletResponse response, String url) throws IOException { // 302, found, redirect,
    response.sendRedirect(url);
    return null;
}

```

---

But sometimes might want to return http code `301` instead, which means `moved permanently`.

In that case, here is the util method:

```
protected ResponseEntity movedPermanently(HttpServletResponse response, String url) { // 301, moved permanently,
    return ResponseEntity.status(HttpStatus.MOVED_PERMANENTLY).header(HttpHeaders.LOCATION, url).build();
}

```