PER DIESER ANTWORT RESOLVED Spring invokes wrong controller mapping Frühling @Controllers URLs sind immer relativ zu dem die Feder Dispatcher Servlet interpretiert, die sie verarbeitet. Also, wenn Sie den Dispatcher Servlet/api/ in web.xml Karte dann die URL zu Ihrem Controller oben ist/api/api/Wahl404 Fehler von REST-Endpunkt in SpringMVC für DispatcherServlet
Der Doppel-String Service/Service/1234 arbeitet.
ORIGINAL POST
eine REST-Ressource Endpunkt Zugriff gibt mir einen 404-Fehler, obwohl alles richtig definiert zu sein scheint:
Protokollausgabe:
DEBUG DispatcherServlet with name 'mvc-dispatcher' processing GET request for [/myapp/service/1234]
DEBUG Looking up handler method for path /1234
DEBUG Did not find handler method for [/1234]
WARN No mapping found for HTTP request with URI [/myapp/service/1234] in DispatcherServlet with name 'mvc-dispatcher'
web.xml
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
SpringMVC-Controller
@RestController
@RequestMapping("/service")
public class RESTController {
@RequestMapping(value="/{id}", method=RequestMethod.GET)
public String getResult (@PathVariable String id)
{
//... get JSON result
}
}
Expected Aufruf: myapp/service/1234
versucht, auch diese Optionen: 1) Verwenden Sie keine Klasse RequestMapping definieren, gehen Sie nur eine Methode anfordern Mapping
@RequestMapping("/service/{id}")
2) als sowie
@RequestMapping("/service*/{id}")
@RequestMapping("/service**/{id}")
Keep gett Ein 404 mit dem obigen Protokoll.
Ja leider haben wir gemischt Struts/SpringMVC ruft so können wir nicht alles zu MVC Dispatcher umleiten. Aber du hast Recht, die Referenzen sind relativ, deshalb hat es nicht funktioniert. Es wäre/service/service/1234 gewesen. Ich werde meine Antwort aktualisieren. –
können Sie bitte Ihre Konfigurationsdatei und das Mapping-Protokoll während des Serverstarts hinzufügen? –