No se puede hacer que el despachador Spring MVC funcione correctamente cuando el patrón de URL es una ruta
Tengo una aplicación web que estamos aplicando Spring MVC solo para servicios REST en este momento. Queremos que nuestros servicios de descanso aparezcan en${contextPath}/rest/**
, sin embargo, cuando configuro esto obtenemos:
No se encontró asignación para la solicitud HTTP con URI [/ myapp / rest / testSvc / message] en DispatcherServlet con el nombre 'Spring MVC Dispatcher Servlet'
Miweb.xml
tiene
<servlet>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/servlet-context.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<url-pattern>/rest</url-pattern>
</servlet-mapping>
servlet-context.xml
, lo cual está bien y está registrando servicios a medida que se registran al inicio.
<context:component-scan base-package="com.mycompany.myapp.rest" />
<mvc:annotation-driven />
Mi controlador tiene el siguiente aspecto:
@Controller
@RequestMapping(value = "/rest/testService")
public class TestREST {
@RequestMapping(value="message", method=RequestMethod.GET)
public @ResponseBody String getMessage() {
return "REST working";
}
Si cambio elurl-pattern
inweb.xml
to * .rest y mi solicitud de mapeo paramessage
amessage.rest
funciona