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

Fehlerbehandlung

Standardmäßig geben Endpunkte eine 200 OK-Meldung zurück, selbst wenn Fehler auftreten. Tritt ein Fehler auf, erhalten Sie eine leere Antwort vom Endpunkt. Dieses Dokument zeigt verschiedene Möglichkeiten, Fehler innerhalb von APIs zu behandeln.

Fehler automatisch zurückgeben

Um Fehler automatisch von APIs zurückzugeben, können Sie das Standardverhalten ändern, indem Sie den Parameter -ErrorAction von New-PSUEndpoint auf Stop setzen. Alle Fehler führen dann dazu, dass ein 500 Internal Server Error mit einer Liste der Fehler und dem Stacktrace zurückgegeben wird.

Terminierende Fehler geben immer einen 500 Internal Server Error zurück.

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

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

Sie werden ein unterschiedliches Verhalten in Windows PowerShell und PowerShell 7 feststellen, wenn Sie REST-APIs aufrufen, die Fehler zurückgeben. In Windows PowerShell erhalten Sie einen allgemeinen Fehler, der die Fehlermeldung nicht zurückgibt.

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

In PowerShell 7 wird beim Zurückgeben eines Fehlers die Fehlermeldung angezeigt.

Sie können die Fehlermeldung in Windows PowerShell mit der folgenden Syntax abrufen.

Fehler manuell zurückgeben

Um Fehler manuell zurückzugeben, müssen Sie das Cmdlet New-PSUApiResponse verwenden. Dieses Cmdlet erlaubt es Ihnen, den Statuscode und den Body für die Antwort zu definieren.

In diesem Beispiel geben wir einen 404-Fehlercode vom Endpunkt zurück.

Ähnlich wie die automatischen Fehlercodes werden manuell zurückgegebene Fehlercodes in PowerShell 7 besser dargestellt. Hier ist ein Beispiel für den Aufruf des Endpunkts.

Beim Aufruf aus Windows PowerShell erhalten Sie einen Fehler, der dem automatisch zurückgegebenen ähnelt.

Sie können festlegen, dass Fehlercodes zurückgegeben werden, wenn bestimmte Bedingungen erfüllt sind, indem Sie Ihr PowerShell-Skript innerhalb des Endpunkts verwenden.

API

Zuletzt aktualisiert

War das hilfreich?