Mi sto insegnando Spring suddividendo le applicazioni di esempio e aggiungendo il codice qua e là per testare le teorie che sviluppo durante la dissezione. Sto ottenendo il seguente messaggio di errore quando si prova un po 'di codice che ho aggiunto a un'applicazione Primavera:Un argomento Errori/BindingResult dovrebbe essere dichiarato immediatamente dopo l'attributo model, @RequestBody o gli argomenti @RequestPart
An Errors/BindingResult argument is expected to be declared immediately after the
model attribute, the @RequestBody or the @RequestPart arguments to which they apply
Il metodo a cui il messaggio di errore si riferisce è:
@RequestMapping(value = "/catowners", method = RequestMethod.GET)
public String findOwnersOfPetType(Integer typeID, BindingResult result, Map<String, Object> model) {
// find owners of a specific type of pet
typeID = 1;//this is just a placeholder
Collection<Owner> results = this.clinicService.findOwnerByPetType(typeID);
model.put("selections", results);
return "owners/catowners";
}
Questo messaggio di errore è stato innescato quando ho provato a caricare il pattern url/catowners nel browser web. Ho esaminato this page e this posting, ma la spiegazione non sembra chiara.
Qualcuno può mostrarmi come risolvere questo errore e anche spiegare cosa significa?
EDIT:
In base alla risposta del Biju Kunjummen, ho cambiato la sintassi per la seguente:
@RequestMapping(value = "/catowners", method = RequestMethod.GET)
public String findOwnersOfPetType(@Valid Integer typeID, BindingResult result, Map<String, Object> model)
ancora sto ottenendo lo stesso messaggio di errore. C'è qualcosa che non capisco?
SECONDO EDIT:
Basato sul commento di Sotirios, ho cambiato il codice di seguito:
@RequestMapping(value = "/catowners", method = RequestMethod.GET)
public String findOwnersOfPetType(BindingResult result, Map<String, Object> model) {
// find owners of a specific type of pet
Integer typeID = 1;//this is just a placeholder
Collection<Owner> results = this.clinicService.findOwnerByPetType(typeID);
model.put("selections", results);
return "owners/catowners";
}
ancora sto ottenendo lo stesso messaggio di errore dopo aver detto eclissi a correre come ... eseguito su server di nuovo.
C'è qualcosa che non capisco?
Nono, rimuovere completamente il 'BindingResult'. Cosa ti darebbe anche in quel secondo esempio di modifica? Prenditi un minuto per leggere la sua javadoc per capire a cosa serviva. –