Códigos de error de api de servicio de solicitud
El identificador comprobado de Microsoft Entra incluye la API rest del servicio de solicitud que le permite emitir y comprobar una credencial. En este artículo se especifican los códigos de error de request Service API.
Error (objeto)
Durante la versión preliminar pública, la API de servicio de solicitudes devolvió errores en el formato siguiente.
{
"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."
}
}
Este formato ahora se cambia a lo siguiente para habilitar el control de errores más sencillo y una mejor compatibilidad con la solución de problemas. En el nuevo formato, el error de exterior código y campos de mensaje tienen valores estandarizados, mientras que el objeto innererror
proporciona detalles sobre lo que provocó el error.
{
"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"
}
}
}
Propiedad | Tipo | Descripción |
---|---|---|
requestId |
cuerda | Identificador de solicitud generado automáticamente. |
date |
fecha | Hora del error. |
mscv |
cuerda | Código interno de Microsoft. |
error |
error | Objeto de error externo |
Tipo de error
El objeto error
ahora coincide con el código de estado HTTP devuelto desde la llamada API para permitir un control de errores más sencillo para los desarrolladores.
Códigos de error y mensajes
A continuación se muestran los posibles valores de nivel superior code
que se asignan a los distintos códigos de estado HTTP devueltos.
Código de estado HTTP | código | Mensaje |
---|---|---|
400 | badRequest | La solicitud no es válida. |
401 | Desautorizado | El recurso solicitado requiere autenticación |
403 | prohibido | Faltan permisos para cumplir esta solicitud. |
404 | notFound | El recurso solicitado no existe. |
405 | methodNotAllowed | No se permite el método solicitado en el recurso solicitado. |
406 | notAcceptable | No se admite el formato de respuesta solicitado. |
408 | requestTimeout | Se agota el tiempo de espera de la solicitud. |
409 | conflicto | El servidor no puede cumplir la solicitud debido a un conflicto de servidor. |
410 | ido | El recurso solicitado ya no está disponible. |
411 | contentLengthRequired | Falta el encabezado Content-Length. |
412 | preconditionFailed | Error en una condición previa para esta solicitud. |
413 | payloadTooLarge | La carga es demasiado grande. |
414 | uriTooLong | El URI es demasiado largo. |
415 | unsupportedMediaType | No se admite el tipo de medio especificado. |
416 | rangeNotSatisfiable | No se puede satisfacer el intervalo solicitado de datos solicitados. |
417 | expectationFailed | No se pudo satisfacer el encabezado Esperado. |
421 | misdirectedRequest | No se puede generar una respuesta para esta solicitud. |
422 | unprocessableEntity | La solicitud contiene errores semánticos. |
423 | cerrado con llave | El recurso de origen o destino está bloqueado. |
429 | tooManyRequests | Demasiadas solicitudes, inténtelo de nuevo más tarde. |
431 | requestHeaderFieldsTooLarge | El campo de encabezado de solicitud es demasiado grande. |
500 | internalServerError | Se ha producido un error genérico en el servidor. |
501 | notImplemented | El servidor no admite la función solicitada. |
502 | badGateway | respuesta incorrecta recibida de otra puerta de enlace. |
503 | serviceUnavailable | El servidor no está disponible temporalmente, inténtelo de nuevo más tarde. |
504 | gatewayTimeout | Se agota el tiempo de espera recibido de otra puerta de enlace. |
507 | insufficientStorage | No se pueden guardar los datos de la solicitud. |
Tipo de error interno
El objeto de error interno contiene detalles específicos del error útiles para el desarrollador para ayudar a investigar el error actual.
{
"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"
}
}
}
Propiedad | Tipo | Descripción |
---|---|---|
code |
cuerda | Código de error interno. Contiene un código estandarizado, basado en el tipo de error. |
message |
cuerda | Mensaje de error interno. Contiene un mensaje detallado del error. En este ejemplo, el campo includeQRCode es del tipo incorrecto. |
target |
cuerda | Opcional. El destino contiene el campo de la solicitud que está causando este error. Este campo es opcional y puede que no esté presente, en función del tipo de error. |
Códigos de error internos
Código | Descripción |
---|---|
badOrMissingField |
se devuelve cuando se producen problemas de validación en la solicitud. El campo target contiene el campo de la solicitud que está causando el problema. |
notFound |
se devuelve cuando no se encuentra un recurso que solicita el cliente. El campo target contiene el nombre o identificador del recurso que no se encuentra. |
tokenError |
se devuelve para cualquier problema de validación en tokens como JSON Web Token (JWT) y los likes. El campo target contiene el nombre del token que causa el problema, cuando procede. |
transientError |
se devuelve para todos los casos en los que el cliente podría obtener una respuesta correcta si vuelven a intentar la solicitud en una fase posterior. Un ejemplo común de cuándo se devuelve este código es cuando se devuelve un código HTTP 429 |