[JAVA] Validez les paramètres de chemin avec @RequestMapping

Aperçu

--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] +}").

supposition

environnement

Exemple d'écriture

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.

référence

https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates

Recommended Posts

Validez les paramètres de chemin avec @RequestMapping
Valider les arguments à l'aide d'ArgumentCaptor avec mockito
Passer des paramètres de JSP avec un servlet
Ne définissez pas JAVA_HOME avec le chemin complet