2016-07-13 8 views
0

(Verschoben von https://github.com/telefonicaid/fiware-orion/issues/2342):Fehler traitement Priorität

Was ist die Priorität zwischen den Fehlern fortfahren?

Zum Beispiel, wenn wir eine BadRequest Fehler (wie uns eine ungültige URL anstelle von/v2/Entities haben wir/v2/eeeentities) und Inhalt Länge erforderlichen Fehler (keine Nutzlast in der POST-Anfrage) in der gleichen Anfrage welche soll erhoben werden?

Im Allgemeinen, wenn wir mehr als einen Fehler in der Anfrage haben, was ist die Reihenfolge der Fehler Behandlung?

Antwort

1

Orion implementiert und "Early Detect" -Strategie, so dass im Falle von simultanen Fehlern die "flachsten" tendenziell früher gemeldet werden. Beispielsweise werden Analysefehler erkannt, bevor die Anforderung zur Datenbankverarbeitungsebene fortschreitet, sodass andere mögliche datenbankbezogene Fehler auftreten können. Innerhalb derselben Kategorie (z. B. Analysefehler verschiedener Arten) ist jedoch keine vordefinierte Reihenfolge vorhanden.

Nachdem gesagt, es ist keine Dokumentation mit einer geordneten Liste von Fehlern nach Priorität. Diese Dokumentation könnte aus dem Quellcode generiert werden, aber es wäre schwierig und würde nicht ausreichen. Aus praktischer Sicht, beachten Sie, dass, wenn Ihre Anfrage Probleme A und B hat, am Ende der meisten Male es keine Rolle spielt, ob Orion zuerst A meldet, dann reparieren Sie A, und melden Sie B auf die andere Art und Weise.

+0

Vielen Dank für Ihre Antwort, aber ich habe vergessen zu erwähnen, dass ich über die NGSI v2-Spezifikation und nicht Orion-Implementierung frage. Ich habe nach der NGSI v2-Problemliste gesucht (https://github.com/telefonicaid/fiware-orion/issues?q=is%3Aopen+is%3Aissue+milestone%3ANGSIv2SpecPending), als ich das Problem öffnete, dachte, dass es in sein wird es. also meine Frage ist, dass in der Spezifikation die Priorität zwischen den Fehlern liegt, damit in den verschiedenen Implementierungen diese Priorität respektiert wird, Danke. – sabrina2020

+1

Die Spezifikation gibt keine Reihenfolge an, daher wäre es ein implementierungsspezifischer Aspekt, wie damit umzugehen ist. Obwohl sich die Spezifikation ändern kann (es ist noch nicht geschlossen) beachte, dass das Problem, das ich beschreibe (wenn deine Anfrage Probleme A und B hat, am Ende meistens egal ist, ob Orion zuerst A meldet, dann reparierst du A, dann Bericht B, dass in der anderen Art und Weise) nicht spezifisch für eine bestimmte Implementierung ist, wahrscheinlich sollte die Spezifikation dazu nichts sagen. – fgalan

+0

Ich denke, die Spezifikation muss die Reihenfolge klären, so dass zwei verschiedene Implementierungen das gleiche Ergebnis im Falle von zwei Fehlern in der Anfrage zurückgeben. Vielen Dank. – sabrina2020