Solución:
No deberías. A @RestController
no está destinado a devolver los nombres de las vistas a través de un String
tipo / valor de retorno. Está destinado a devolver algo que se escribirá directamente en el cuerpo de la respuesta.
Más concretamente (en el caso de configuración general), Spring MVC configura sus controladores de valor de retorno en RequestMappingHandlerAdapter#getDefaultReturnValueHandlers()
. Si observa esa implementación, el controlador de String
ver nombres, ViewNameMethodReturnValueHandler
, Esta registrado después el manejador de @RestController
(De Verdad @ResponseBody
), RequestResponseBodyMethodProcessor
.
Si realmente es necesario, puede declarar que su método tenga un tipo de retorno de View
o ModelAndView
(los manejadores de estos, ViewMethodReturnValueHandler
y ModelAndViewMethodReturnValueHandler
, están registrados antes RequestResponseBodyMethodProcessor
) y devolver el objeto apropiado, con un nombre de vista de identificación.
En realidad, @ RestController también podría devolver la vista …
Después de un día de investigación y lectura del documento, obtuve una solución.
Permítanme compartir la solución con todos:
Primero, establezca el tipo de retorno del método del controlador en “ModelAndView”
En segundo lugar, establezca su ruta de vista de esta manera
ModelAndView mav = new ModelAndView("userCenter/loginPage");
Finalmente
return mav;
Obtendría el contenido de vista de página jsp correcto