Früher habe ich mich an diesen Standard gehalten, er war ziemlich gut, einfach und sauber auf der Client-Ebene.
Normalerweise ist der HTTP-Status 200, also eine Standardprüfung, die ich oben verwende. und ich verwende normalerweise das folgende JSON
Ich verwende auch eine Vorlage für die APIs
dynamic response;
try {
// query and what not.
response.payload = new {
data = new {
pagination = new Pagination(),
customer = new Customer(),
notifications = 5
}
}
// again something here if we get here success has to be true
// I follow an exit first strategy, instead of building a pyramid
// of doom.
response.success = true;
}
catch(Exception exception){
response.success = false;
response.message = exception.GetStackTrace();
_logger.Fatal(exception, this.GetFacadeName())
}
return response;
{
"success": boolean,
"message": "some message",
"payload": {
"data" : []
"message": ""
... // put whatever you want to here.
}
}
auf der Client-Ebene würde ich folgendes verwenden:
if(response.code != 200) {
// woops something went wrong.
return;
}
if(!response.success){
console.debug ( response.message );
return;
}
// if we are here then success has to be true.
if(response.payload) {
....
}
Beachten Sie, dass ich die Pyramide des Verderbens frühzeitig vermeide.