144 votes

Comment accepter les paramètres de date dans une requête GET vers le contrôleur MVC de Spring ?

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

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

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

Statut HTTP 400 : la demande envoyée par le client est syntaxiquement incorrecte.

Comment puis-je faire en sorte que le contrôleur accepte ce format de date ? Veuillez m'aider. Qu'est-ce que je fais de mal ?

1voto

Sourabh Bhavsar Points 91

Vous pouvez utiliser :

public @ResponseBody String fetchResult( @RequestParam("from")@DateTimeFormat(pattern="yyyy-MM-dd") Date fromDate) { //Votre code...

}

1voto

Hoiama Rodrigues Points 114

2000-10-31T01:30:00.000-05:00 convertir en Datetime (Joda)

@GetMapping("test/{dateTimeStart}")
public void getCheckDaily2(
        @PathVariable(value = "dateTimeStart", required = false)
            @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
                DateTime dateTimeStart){

body here...
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X