For the complete documentation index, see llms.txt. This page is also available as Markdown.

Gestión de errores

De forma predeterminada, los endpoints devolverán un mensaje 200 OK incluso si hay errores. Si se produce un error, obtendrá una respuesta vacía del endpoint. Este documento muestra distintas formas de gestionar los errores en las API.

Devolver errores automáticamente

Para devolver errores automáticamente desde las API, puede cambiar el comportamiento predeterminado estableciendo el parámetro -ErrorAction de New-PSUEndpoint en Stop. Cualquier error provocará que se devuelva un error 500 Internal Server Error con una lista de los errores y el seguimiento de la pila.

Los errores de terminación siempre devolverán un error 500 Internal Server Error.

New-PSUEndpoint -Url "/error" -Endpoint { 
   throw "Uh oh!"
} -ErrorAction stop

New-PSUEndpoint -Url /error2 -Endpoint {
    Write-Error "Whoa!"
} -ErrorAction Stop

Observará un comportamiento diferente en Windows PowerShell y PowerShell 7 al llamar a API REST que devuelven errores. En Windows PowerShell, recibirá un error genérico que no devuelve el mensaje de error.

PS C:\Users\adamr> invoke-restmethod http://localhost:5000/error2
invoke-restmethod : The remote server returned an error: (500) Internal Server Error.
At line:1 char:1
+ invoke-restmethod http://localhost:5000/error2
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], Web
   Exception
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

En PowerShell 7, cuando se devuelve un error, verá el mensaje de error devuelto.

Puede recuperar el mensaje de error en Windows PowerShell utilizando la siguiente sintaxis.

Devolver errores manualmente

Para devolver errores manualmente, debe utilizar el cmdlet New-PSUApiResponse. Este cmdlet le permite definir el código de estado y el cuerpo de la respuesta.

En este ejemplo, devolvemos un código de error 404 desde el endpoint.

De forma similar a los códigos de error automáticos, los códigos de error devueltos manualmente se mostrarán mejor en PowerShell 7. Aquí tiene un ejemplo de llamada al endpoint.

Si se llama desde Windows PowerShell, recibirá un error similar al que se devuelve automáticamente.

Puede elegir devolver códigos de error si se cumplen determinadas condiciones utilizando su script de PowerShell dentro del endpoint.

API

Última actualización

¿Te fue útil?