Generalmente, vuoi che il tuo webservice riceva e risponda ai messaggi json. Questo per consentire la massima flessibilità per dopo. L'aggiunta di nuovi campi non modifica i tipi sottostanti attesi da un'estremità o dall'altra.
Espandendoci sopra, generalmente vuoi sempre che la radice sia un oggetto e non un array. Questo perché gli array possono essere vuoti e, ancora una volta, si vuole fornire una linea di base per l'input e l'output che sia flessibile e permetterà cambiamenti in futuro.
In genere tendi ad avere un campo indicativo di stato. Stiamo parlando di codici di risposta del tipo http, ma questo potrebbe essere qualsiasi sistema di codice di stato arbitrario che desideri.
Quindi ti aspetteresti che se il messaggio è "VERDE", ti aspetteresti il seguente messaggio minimo nella risposta:
{
"status": 200,
"message": "GREEN"
}
Quindi alla fine del ricevitore, se non trovi json valido o non dovresti trovare un campo di stato, è una bandiera rossa! Altrimenti, controllare lo stato per determinare se l'operazione è stata un successo. 200 qui ovviamente è il codice http standard per dire che tutto è andato bene.
In seguito, puoi eseguire qualsiasi tipo di logica, ad esempio, se vedi lo stato 200, dovresti trovare anche un campo chiamato "messaggio". Anche in questo caso, il sistema è arbitrario, ma generalmente lo si imposta in questo modo per creare una linea di base per il trasferimento di messaggi che consente di stabilire una base di protocollo di base per la comunicazione tra server e client.