--Le paramètre de chemin (espace réservé) de l'URI défini par @ RequestMapping
peut être validé sous la forme {nom du paramètre: expression régulière}
.
--Par exemple, si un URI est défini comme @RequestMapping (path =" / hello / {name} ")
et que vous voulez empêcher que seuls les caractères alphabétiques demi-largeur soient acceptés dans name
,@RequestMapping ( Écrivez chemin = "/ bonjour / {nom: [a-zA-Z] +}")
.
@ RequestMapping
utilisé dans la classe de contrôleur avec @ RestContoller
.Une API qui entre un alphabet demi-largeur dans l'espace réservé URI et renvoie «" bonjour, {alphabet demi-largeur entré} "».
HelloController.java
@RestController
public class HelloController {
@RequestMapping(path = "/hello/{name:[a-zA-Z]+}", method = RequestMethod.GET)
public String hello(@PathVariable String name) {
return "hello, " + name;
}
}
Exemple d'exécution.
bash-3.2$ curl -X GET http://localhost:8080/hello/Freddie
hello, Freddie
Si une syntaxe incorrecte est saisie, la ressource 404 sera traitée comme non détectée. La réponse d'erreur par défaut est la suivante.
bash-3.2$ curl -X GET http://localhost:8080/hello/0123
{"timestamp":"2018-11-20T16:02:56.401+0000","status":404,"error":"Not Found","message":"No message available","path":"/hello/0123"}
De plus, si vous souhaitez utiliser une syntaxe de nombre demi-largeur à 3 chiffres, utilisez une expression régulière qui exprime la syntaxe souhaitée, telle que @RequestMapping (path =" / hello / {id: \\ d {3}} ")
. Simplement fais-le.
\\ d
ne fonctionne pas correctement. Écrivez «\ d».https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates