2017-06-22 6 views
2

Je veux faire correspondre toutes les demandes avec un PathVariable qui ne commencent pas par 'api'. Je teste suivant RequestMapping. Le printemps pourrait correspondre à la demande mais n'a pas pu obtenir de valeur pour PathVariable. Comment je résous ça?Spring-MVC PathVariable correspondance expression régulière ne commençant pas par le mot

@RequestMapping(value = "/{name:(?!api).+}", method = RequestMethod.GET) 
public void getNotApi(@PathVariable String name, HttpServletResponse response) { 
    ... 
} 

Je reçois le message suivant pour une demande comme localhost:8080/resource.

Error 500 Missing URI template variable 'name' for method parameter of type String

Répondre

3
@RequestMapping(value = "/{name:^(?!api).+}", method = RequestMethod.GET) 
-2

Si vous construisez sur Java pre version 8, il peut être à cause du nom manquant. Essayez @PathVariable("name") String name. Conservez @PathVariable valeur identique à votre nom de paramètre de mappage.