Io uso la libreria sf.json per mappare i dati del modulo per la richiesta in arrivo nella mia applicazione web in java.Come convalidare un oggetto JSON in java?
Diciamo la richiesta in arrivo è http://localhost:8080/app/addProfile con dati del modulo come:
formData: {
"name":"applicant Name",
"Age":"26",
"academics":{
"college":"80",
"inter":"67",
"matriculation":"89"
},
"skill":{
"computer":"c,c++,java",
"maths":"limit,permutation,statistics"
},
"dateOfBirth":"09-07-1988"
}
lato server:
String requestFormData=request.getParameter("formData");
JSONObject formData = JSONObject.fromObject(requestFormData);
String name= formData.getString("name");
if(name.length>70){
//error message for length validation
}
if(!name.matches("regex for name"){
//error message for name validation
}
...
...
...
Il problema principale con questo approccio è se v'è lieve modifica nella struttura JSON
, allora l'intero codice deve essere modificato.
C'è qualche api in cui è possibile configurare le regole richieste per la convalida?
Non riesco a pensare a una situazione in cui è necessario un tipo di convalida da voi fornito. Ci sono un sacco di persone con nomi (prima e cognome) più lunghi di 70 anche 100 caratteri. – itwasntme
Preferisco cercare alcune regole di convalida univoche come: l'età è il numero positivo, la data contiene il giorno-mese-anno, l'utente ha fornito almeno 2 abilità in ogni categoria. – itwasntme