Fehlercodes für die Anforderungsdienst-API
Microsoft Entra Verified ID enthält die Anforderungsdienst-REST-API, mit der Sie anmeldeinformationen ausstellen und überprüfen können. In diesem Artikel werden die Fehlercodes für die Anforderungsdienst-API angegeben.
Error-Objekt
Während der öffentlichen Vorschau hat die Anforderungsdienst-API Fehler im folgenden Format zurückgegeben.
{
"requestId": "4bb6726f77af7623ab52962323016442",
"date": "Thu, 28 Apr 2022 14:30:54 GMT",
"mscv": "17ppwf3uxR10MfRR.1",
"error": {
"code": "client_request.invalid_include_qr_code",
"message": "The request contains `includeQRCode`, but it is not boolean."
}
}
Dieses Format wird jetzt in folgendes geändert, um sowohl eine einfachere Fehlerbehandlung als auch eine bessere Unterstützung für die Problembehandlung zu ermöglichen. Im neuen Format weisen die äußeren Fehler Code- und Meldungsfelder standardisierte Werte auf, während das innererror
-Objekt Details dazu bereitstellt, was den Fehler verursacht hat.
{
"requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
"date": "Fri, 29 Apr 2022 11:20:19 GMT",
"mscv": "QbBLwF7XAp0dt4Lw.1",
"error": {
"code": "badRequest",
"message": "The request is invalid.",
"innererror": {
"code": "badOrMissingField",
"message": "The request contains `includeQRCode`, but it is not boolean.",
"target": "includeQRCode"
}
}
}
Eigentum | Art | Beschreibung |
---|---|---|
requestId |
Schnur | Eine automatisch generierte Anforderungs-ID. |
date |
Datum | Der Zeitpunkt des Fehlers. |
mscv |
Schnur | Interner Microsoft-Code. |
error |
Fehler | Das äußere Fehlerobjekt |
Fehlertyp
Das error
-Objekt entspricht nun dem vom API-Aufruf zurückgegebenen HTTP-Statuscode, um eine einfachere Fehlerbehandlung für Entwickler zu ermöglichen.
Eigentum | Art | Beschreibung |
---|---|---|
code |
Schnur | Der Rückgabefehlercode, der mit dem HTTP-Statuscode übereinstimmen. |
message |
Schnur | Eine standardisierte Fehlermeldung, die auch vom zurückgegebenen HTTP-Statuscode abhängig ist. |
innererror |
Innererror- | Geben Sie Details dazu an, was den Fehler verursacht hat. |
Fehlercodes und Meldungen
Im Folgenden finden Sie die möglichen werte der obersten Ebene code
, die den verschiedenen zurückgegebenen HTTP-Statuscodes zugeordnet sind.
HTTP-Statuscode | Code | Nachricht |
---|---|---|
400 | badRequest | Die Anforderung ist ungültig. |
401 | unbefugt | Für die angeforderte Ressource ist eine Authentifizierung erforderlich. |
403 | verboten | Fehlende Berechtigungen zum Erfüllen dieser Anforderung. |
404 | notFound | Die angeforderte Ressource ist nicht vorhanden. |
405 | methodNotAllowed | Die angeforderte Methode ist für die angeforderte Ressource nicht zulässig. |
406 | notAcceptable | Das angeforderte Antwortformat wird nicht unterstützt. |
408 | requestTimeout | Timeout der Anforderung. |
409 | Konflikt | Der Server kann die Anforderung aufgrund eines Serverkonflikts nicht erfüllen. |
410 | fort | Die angeforderte Ressource ist nicht mehr verfügbar. |
411 | contentLengthRequired | Der Header "Content-Length" fehlt. |
412 | vorbedingungFailed | Eine Voraussetzung für diese Anforderung ist fehlgeschlagen. |
413 | payloadTooLarge | Die Nutzlast ist zu groß. |
414 | uriTooLong | Der URI ist zu lang. |
415 | unsupportedMediaType | Der angegebene Medientyp wird nicht unterstützt. |
416 | rangeNotSatisfiable | Der angeforderte Datenbereich kann nicht erfüllt werden. |
417 | erwartungsfailed | Der erwartete Header konnte nicht erfüllt werden. |
421 | misdirectedRequest | Für diese Anforderung kann keine Antwort erzeugt werden. |
422 | unprocessableEntity | Die Anforderung enthält semantische Fehler. |
423 | verschlossen | Die Quell- oder Zielressource ist gesperrt. |
429 | tooManyRequests | Zu viele Anforderungen, versuchen Sie es später erneut. |
431 | requestHeaderFieldsTooLarge | Das Anforderungsheaderfeld ist zu groß. |
500 | internalServerError | Auf dem Server ist ein allgemeiner Fehler aufgetreten. |
501 | notImplemented | Der Server unterstützt die angeforderte Funktion nicht. |
502 | badGateway | schlechte Antwort, die von einem anderen Gateway empfangen wurde. |
503 | serviceUnavailable | Der Server ist vorübergehend nicht verfügbar, versuchen Sie es bitte später erneut. |
504 | gatewayTimeout | Timeout, das von einem anderen Gateway empfangen wurde. |
507 | nicht genügendStorage | Daten für die Anforderung können nicht gespeichert werden. |
Innerer Fehlertyp
Das innere Fehlerobjekt enthält fehlerspezifische Details, die für den Entwickler hilfreich sind, um den aktuellen Fehler zu untersuchen.
{
"requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
"date": "Fri, 29 Apr 2022 11:20:19 GMT",
"mscv": "QbBLwF7XAp0dt4Lw.1",
"error": {
"code": "badRequest",
"message": "The request is invalid.",
"innererror": {
"code": "badOrMissingField",
"message": "The request contains `includeQRCode`, but it is not boolean.",
"target": "includeQRCode"
}
}
}
Eigentum | Art | Beschreibung |
---|---|---|
code |
Schnur | Der interne Fehlercode. Enthält einen standardisierten Code basierend auf dem Typ des Fehlers. |
message |
Schnur | Die interne Fehlermeldung. Enthält eine detaillierte Meldung des Fehlers. In diesem Beispiel weist das Feld includeQRCode den falschen Typ auf. |
target |
Schnur | Wahlfrei. Das Ziel enthält das Feld in der Anforderung, das diesen Fehler verursacht. Dieses Feld ist optional und ist je nach Fehlertyp möglicherweise nicht vorhanden. |
Innere Fehlercodes
Code | Beschreibung |
---|---|
badOrMissingField |
wird zurückgegeben, wenn Überprüfungsprobleme bei der Anforderung auftreten. Das Feld target enthält das Feld in der Anforderung, die das Problem verursacht. |
notFound |
wird zurückgegeben, wenn eine Ressource, die der Client anfordert, nicht gefunden wird. Das Feld target enthält den Ressourcennamen/die ID, die nicht gefunden wird. |
tokenError |
wird für alle Überprüfungsprobleme für Token wie JSON Web Token (JWT) und die Likes zurückgegeben. Das Feld target enthält den Tokennamen, der das Problem verursacht, falls zutreffend. |
transientError |
wird für alle Fälle zurückgegeben, in denen der Client möglicherweise eine erfolgreiche Antwort erhalten kann, wenn sie die Anforderung zu einem späteren Zeitpunkt erneut versuchen. Ein gängiges Beispiel für die Rückgabe dieses Codes ist, wenn ein HTTP 429-Code zurückgegeben wird. |