Spring MVC annoté méthodes de contrôleur, incapable de trouver “la” méthode pour l'opération de SUPPRESSION

Voici le code:

@RequestMapping(value = "/competitors/{id}", method = RequestMethod.GET)
public Competitor getCompetitor(@PathVariable("id") long id)
{
    Competitor competitor = competitorService.getCompetitorById(id);

    if (null == competitor)
    {
        EmptyResultDataAccessException e = new EmptyResultDataAccessException(1);
        logger.log(Level.WARN, e.getMessage());
        throw e;
    }

    return competitor;
}

@RequestMapping(value = "/competitors/{id}", method = RequestMethod.DELETE)
public String deleteCompetitor(@PathVariable("id") long id)
{
    Competitor competitor = new Competitor();
    competitor.setId(id);
    competitorService.deleteCompetitor(competitor);

    return "Solid gone!";
}

L'envoi d'une demande de SUPPRESSION de /concurrents/200 résultats dans l'erreur:

"HTTP Statut 405 - Demande de la méthode "SUPPRIMER" non pris en charge"

L'enregistrement à partir du Printemps confirme qu'aucune route à cette méthode peut être trouvé:

5559 [tomcat-http--3] DEBUG org.springframework.web.servlet.DispatcherServlet  - DispatcherServlet with name 'dispatcher' processing DELETE request for [/vrsboserver/competitors/200] 5562 [tomcat-http--3] DEBUG org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
- Matching patterns for request [/competitors/200] are [/competitors/{id}] 5565 [tomcat-http--3] DEBUG org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
- Mapping [/competitors/200] to handler 'com.gtspt.vrsboserver.controllers.CompetitorController@4fe7f80' 5565 [tomcat-http--3] DEBUG org.springframework.web.servlet.mvc.WebContentInterceptor  - Looking up cache seconds for [/competitors/200] 5565 [tomcat-http--3] DEBUG org.springframework.web.servlet.mvc.WebContentInterceptor  - Applying default cache seconds to [/competitors/200] 5566 [tomcat-http--3] DEBUG org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver
- Resolving exception from handler [com.gtspt.vrsboserver.controllers.CompetitorController@4fe7f80]: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' not supported 5567 [tomcat-http--3] DEBUG org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver
- Resolving exception from handler [com.gtspt.vrsboserver.controllers.CompetitorController@4fe7f80]: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' not supported 5568 [tomcat-http--3] DEBUG org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver
- Resolving exception from handler [com.gtspt.vrsboserver.controllers.CompetitorController@4fe7f80]: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' not supported 5568 [tomcat-http--3] WARN  org.springframework.web.servlet.PageNotFound  - Request method 'DELETE' not supported

À laquelle ma réponse est "BU?".

Tous sont de votre Ressort pots de la même version?
Juste pour être sûr, vous avez vérifié que l'un fonctionne sur le même mapping?
OBTENEZ fonctionne bien. Maven est l'obtention de mon Ressort pots, à l'aide de "${org.springframework.version}" comme chaque champ version, alors qu'ils sont certainement tous de correspondance.
Basé sur cette info, je suis perplexe. Assurez-vous de vérifier votre efficace pom comme vous l'avez peut-être tirer dans une transitive Printemps dep sans utiliser votre version de propriété. Si j'ai travaillé avec vous, je voudrais vous demander de vous repousser ce que je puisse debug.
Mise à niveau à partir du Printemps 3.0.0 de Printemps 3.1.0 a comme par magie fixe.

OriginalL'auteur Archeus | 2012-03-23