Este es mi código dentro de la clase de controlador. Cuando el usuario ingresa a localhost: 8080 / url, recupera la url larga original, digamos "www.google.com" guardado en la base de datos y luego quiero que redirija a www.google.com, pero en cambio, redirige a localhost: 8080 /www.google.com y por lo tanto da en error 500.
@RequestMapping(value="/{url}", method = RequestMethod.GET)
public RedirectView getLongURl(@PathVariable("url") String url) {
String original = database.getLongUrl(UrlShortener.decode(url));
RedirectView redirectview = new RedirectView();
redirectview.setUrl(original);
return redirectview;
}
Respuestas
0 para la respuesta № 1Debes devolver un ModelAndView
@RequestMapping(value="/{url}", method = RequestMethod.GET)
public ModelAndView method(@PathVariable("url") String url) {
String original = database.getLongUrl(UrlShortener.decode(url));
return new ModelAndView("redirect:" + original);
}
Usted no tiene la opción de redirigir susolicite a un dominio / host externo como google.com usando el RedirectView. Como su nombre lo indica, redirige su solicitud a una "otra vista" en su aplicación. Refiera el documentos para más sobre RedirectView