Ich arbeite mit einem neuen System und Aufbau der Fehler Verträge, die ich zurückgeben werde. Ich versuche der OData v4 Error Response structure zu folgen.Can OData Error Objekte enthalten willkürliche Eigenschaften
Da dies ein C# -Dienst ist, scheint es eine sehr gute Zuordnung zwischen Exception-Objekten und OData-Fehlerantwort zu geben. Wir versuchen jedoch festzustellen, ob ein Fehlerantwortobjekt weitere willkürliche Eigenschaften enthalten kann. Innen Fehler werden zusätzliche Eigenschaften haben ausdrücklich erklärt erlaubt als so folgendes gilt:
{
"error": {
"code": "BadArgument",
"message": "Previous passwords may not be reused",
"target": "password",
"innererror": {
"code": "PasswordDoesNotMeetPolicy",
"minLength": "6",
"maxLength": "64",
"minDistinctCharacterTypes": "2",
}
}
}
Die Data
Eigenschaft auf eine Ausnahme bildet sehr gut dazu, und wir können nur jeden Wert auf die innere Ausnahme in eine umwandeln Eigenschaft auf dem Fehler. Wenn also ein Client der äußeren Ausnahme beliebige Eigenschaften hinzufügt, ist es in Ordnung, sie als Eigenschaften im Stammverzeichnis verfügbar zu machen. Zum Beispiel:
{
"error": {
"code": "BadArgument",
"message": "PasswordDoesNotMeetPolicy",
"target": "password",
"minLength": "6",
"maxLength": "64",
"minDistinctCharacterTypes": "2",
}
}
Oder wird so etwas allgemein als "schlechte Form" für OData angesehen?