Comment accepter les parameters de date dans une requête GET adressée à Spring MVC Controller?

J’ai une requête GET qui envoie une date au format AAAA-MM-JJ à un contrôleur de spring. Le code du contrôleur est le suivant:

@RequestMapping(value="/fetch" , method=RequestMethod.GET) public @ResponseBody Ssortingng fetchResult(@RequestParam("from") Date fromDate) { //Content goes here } 

La demande est envoyée correctement lorsque je vérifie avec Firebug. Je reçois l’erreur:

Statut HTTP 400: La demande envoyée par le client était syntaxiquement incorrecte.

Comment puis-je faire en sorte que le contrôleur accepte ce format de date? S’il vous plaît aider. Qu’est-ce que je fais mal?

Ok, je l’ai résolu. Écris-le pour quiconque pourrait être fatigué après une journée complète de codage non-stop et rater une chose si stupide.

 @RequestMapping(value="/fetch" , method=RequestMethod.GET) public @ResponseBody Ssortingng fetchResult(@RequestParam("from") @DateTimeFormat(pattern="yyyy-MM-dd") Date fromDate) { //Content goes here } 

Oui, c’est simple. Ajoutez simplement l’annotation DateTimeFormat.

C’est ce que j’ai fait pour obtenir la date de mise en forme de l’avant

  @RequestMapping(value = "/{dateSsortingng}", method = RequestMethod.GET) @ResponseBody public HttpStatus getSomething(@PathVariable @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Ssortingng dateSsortingng) { return OK; } 

Vous pouvez l’utiliser pour obtenir ce que vous voulez.