Udostępnij za pośrednictwem


Kody błędów interfejsu API usługi żądania

Identyfikator zweryfikowany przez firmę Microsoft zawiera interfejs API REST usługi żądań, który umożliwia wystawianie i weryfikowanie poświadczeń. W tym artykule określono kody błędów dla interfejsu API usługi żądania.

Błąd obiektu

W publicznej wersji zapoznawczej interfejs API usługi żądań zwrócił błędy w następującym formacie.

{
  "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."
  }
}

Ten format został teraz zmieniony na następujący, aby umożliwić zarówno prostszą obsługę błędów, jak i lepszą obsługę rozwiązywania problemów. W nowym formacie zewnętrzne pola błędu kodu i komunikatu mają ustandaryzowane wartości, podczas gdy obiekt innererror zawiera szczegółowe informacje na temat przyczyn błędu.

{
  "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"
    }
  }
}
Własność Typ Opis
requestId struna Automatycznie wygenerowany identyfikator żądania.
date data Czas błędu.
mscv struna Wewnętrzny kod firmy Microsoft.
error błędów Obiekt błędu zewnętrznego

Typ błędu

Obiekt error jest teraz zgodny z kodem stanu HTTP zwróconym z wywołania interfejsu API w celu ułatwienia obsługi błędów dla deweloperów.

Własność Typ Opis
code struna Kod błędu zwracanego zgodny z kodem stanu HTTP.
message struna Ustandaryzowany komunikat o błędzie, który jest również zależny od zwróconego kodu stanu HTTP.
innererror Innererror Podaj szczegółowe informacje o przyczynie błędu.

Kody błędów i komunikaty

Poniżej przedstawiono możliwe wartości najwyższego poziomu code mapowane na różne zwrócone kody stanu HTTP.

Kod stanu HTTP kod Komunikat
400 badRequest Żądanie jest nieprawidłowe.
401 Nieautoryzowanych Żądany zasób wymaga uwierzytelnienia
403 zakazany Brak uprawnień do spełnienia tego żądania.
404 notFound Żądany zasób nie istnieje.
405 methodNotAllowed Żądana metoda nie jest dozwolona w żądanym zasobie.
406 notAcceptable Żądany format odpowiedzi nie jest obsługiwany.
408 requestTimeout Upłynął limit czasu żądania.
409 konflikt Serwer nie może spełnić żądania z powodu konfliktu serwera.
410 Poszedł Żądany zasób nie jest już dostępny.
411 contentLengthRequired Brak nagłówka Content-Length.
412 warunek wstępny Warunek wstępny dla tego żądania nie powiódł się.
413 payloadTooLarge Ładunek jest za duży.
414 uriTooLong Identyfikator URI jest za długi.
415 nieobsługiwany typMediaType Określony typ nośnika jest nieobsługiwany.
416 rangeNotSatisable Żądany zakres żądanych danych nie może być spełniony.
417 expectationFailed Nie można spełnić oczekiwanego nagłówka.
421 misdirectedRequest Nie można utworzyć odpowiedzi dla tego żądania.
422 unprocessableEntity Żądanie zawiera błędy semantyczne.
423 zablokowany Zasób źródłowy lub docelowy jest zablokowany.
429 tooManyRequests Zbyt wiele żądań, spróbuj ponownie później.
431 requestHeaderFieldsTooLarge Pole nagłówka żądania jest zbyt duże.
500 internalServerError Na serwerze wystąpił błąd ogólny.
501 notImplemented Serwer nie obsługuje żądanej funkcji.
502 badGateway zła odpowiedź odebrana z innej bramy.
503 serviceUnavailable Serwer jest tymczasowo niedostępny. Spróbuj ponownie później.
504 gatewayTimeout Przekroczono limit czasu odebrany z innej bramy.
507 insufficientStorage Nie można zapisać danych dla żądania.

Typ błędu wewnętrznego

Wewnętrzny obiekt błędu zawiera szczegółowe informacje o błędzie przydatne dla dewelopera w celu zbadania bieżącego błędu.

{
  "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"
    }
  }
}
Własność Typ Opis
code struna Kod błędu wewnętrznego. Zawiera ustandaryzowany kod na podstawie typu błędu
message struna Wewnętrzny komunikat o błędzie. Zawiera szczegółowy komunikat o błędzie. W tym przykładzie pole includeQRCode jest nieprawidłowym typem.
target struna Fakultatywny. Element docelowy zawiera pole w żądaniu, które powoduje ten błąd. To pole jest opcjonalne i może nie być obecne, w zależności od typu błędu.

Kody błędów wewnętrznych

Kod Opis
badOrMissingField zwracane, gdy wystąpią problemy z walidacją żądania. Pole target zawiera pole w żądaniu, które powoduje problem.
notFound zwracany, gdy zasób, którego żąda klient, nie zostanie znaleziony. Pole target zawiera nazwę/identyfikator zasobu, który nie został znaleziony.
tokenError zwracane w przypadku wszelkich problemów z walidacją w tokenach, takich jak token internetowy JSON (JWT) i podobne. Pole target zawiera nazwę tokenu powodującą problem, jeśli ma to zastosowanie.
transientError zwrócone dla wszystkich przypadków, w których klient może uzyskać pomyślną odpowiedź, jeśli ponowi próbę żądania na późniejszym etapie. Typowym przykładem zwracania tego kodu jest zwrócenie kodu HTTP 429

Następne kroki