/ / ¿Cómo redireccionar a una url externa desde el controlador mvc de spring? - muelle, modelo-vista-controlador

¿Cómo redireccionar a una url externa desde el controlador mvc spring? - muelle, modelo-vista-controlador

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 № 1

Debes 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