Inhalt prüfen
GILT FÜR: Alle API Management-Ebenen
Mit der Richtlinie validate-content
wird die Größe oder der Inhalt eines Anforderungs- oder Reaktionstexts anhand eines oder mehrerer unterstützten Schemas überprüft.
In der folgenden Tabelle werden die Schemaformate und Anforderungs- oder Reaktionsinhaltstypen dargestellt, die von der Richtlinie unterstützt werden. Bei Inhaltstypwerten wird die Groß-/Kleinschreibung nicht beachtet.
Format | Inhaltstypen |
---|---|
JSON | Beispiele: application/json application/hal+json |
XML | Beispiel: application/xml |
SOAP | Zulässige Werte: application/soap+xml für SOAP 1.2-APIstext/xml für SOAP 1.1-APIs |
Hinweis
Die maximale Größe des API-Schemas, das von dieser Validierungsrichtlinie verwendet werden kann, beträgt 4 MB. Wenn das Schema diesen Grenzwert überschreitet, geben Validierungsrichtlinien zur Laufzeit Fehler zurück. Zum Erhöhen des Grenzwerts wenden Sie sich an den Support.
Überprüfte Inhalte
Die Richtlinie überprüft die folgenden Inhalte in der Anforderung oder Antwort auf das Schema:
- Vorhandensein aller erforderlichen Eigenschaften
- Vorhandensein oder Fehlen zusätzlicher Eigenschaften, wenn für das Schema das Feld
additionalProperties
festgelegt ist. Kann mit dem Attributallow-additional-properties
überschrieben werden. - Typen aller Eigenschaften. Wenn beispielsweise ein Schema eine Eigenschaft als Integer angibt, muss die Anforderung (oder Antwort) einen Integer und nicht einen anderen Typ (etwa eine Zeichenfolge) enthalten.
- Das Format der Eigenschaften, sofern im Schema angegeben, z. B. RegEx (bei Angabe des Schlüsselworts
pattern
),minimum
für Integer usw.
Tipp
Beispiele für RegEx-Mustereinschränkungen, die in Schemas verwendet werden können, finden Sie im OWASP-Repository für die Regex-Überprüfung.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Das Portal unterstützt Sie bei der Konfiguration dieser Richtlinie durch einen formularbasierten, angeleiteten Editor. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<validate-content unspecified-content-type-action="ignore | prevent | detect" max-size="size in bytes" size-exceeded-action="ignore | prevent | detect" errors-variable-name="variable name">
<content-type-map any-content-type-value="content type string" missing-content-type-value="content type string">
<type from | when="content type string" to="content type string" />
</content-type-map>
<content type="content type string" validate-as="json | xml | soap" schema-id="schema id" schema-ref="#/local/reference/path" action="ignore | prevent | detect" allow-additional-properties="true | false" case-insensitive-property-names="true | false"/>
</validate-content>
Attribute
Attribut | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
unspecified-content-type-action | Aktion, die für Anforderungen oder Antworten mit einem Inhaltstyp ausgeführt wird, der im API-Schema nicht angegeben ist. Richtlinienausdrücke sind zulässig. | Ja | – |
max-size | Maximale Länge des Texts der Anforderung oder Antwort in Bytes, überprüft anhand des Content-Length Headers. Wenn der Anforderungs- oder Antworttext komprimiert ist, stellt dieser Wert die entkomprimierte Länge dar. Der größte zulässige Wert ist 4 MB. Richtlinienausdrücke sind zulässig. |
Ja | – |
size-exceeded-action | Aktion, die für Anforderungen oder Antworten ausgeführt wird, deren Text die in max-size angegebene Größe überschreitet. Richtlinienausdrücke sind zulässig. |
Ja | – |
errors-variable-name | Name der Variable in context.Variables , in der Validierungsfehler protokolliert werden. Richtlinienausdrücke sind nicht zulässig. |
Nein | – |
Elemente
Name | BESCHREIBUNG | Erforderlich |
---|---|---|
content-type-map | Fügen Sie dieses Element hinzu, um den Inhaltstyp der eingehenden Anforderung oder Reaktion einem anderen Inhaltstyp zuzuordnen, der zum Auslösen der Validierung verwendet wird. | Nein |
Inhalt | Fügen Sie mindestens eines dieser Elemente hinzu, um den Inhaltstyp in der Anforderung, der Antwort oder dem zugeordneten Inhaltstyp zu validieren und die angegebene Aktion auszuführen. | Nein |
content-type-map-Attribute
attribute | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
any-content-type-value | Inhaltstyp, der unabhängig vom eingehenden Inhaltstyp für die Überprüfung des Texts einer Anforderung oder Reaktion verwendet wird Richtlinienausdrücke sind nicht zulässig. | Nein | – |
missing-content-type-value | Inhaltstyp, der für die Überprüfung des Texts einer Anforderung oder Reaktion verwendet wird, wenn der eingehende Inhaltstyp fehlt oder leer ist Richtlinienausdrücke sind nicht zulässig. | Nein | – |
content-type-map-elements
Name | BESCHREIBUNG | Erforderlich |
---|---|---|
Typ | Fügen Sie eines oder mehrere dieser Elemente hinzu, um einen eingehenden Inhaltstyp einem Inhaltstyp zuzuordnen, der für die Überprüfung des Texts einer Anforderung oder Reaktion verwendet wird. Verwenden Sie from , um einen bekannten eingehenden Inhaltstyp anzugeben, oder verwenden Sie when mit einem Richtlinienausdruck, um einen beliebigen eingehenden Inhaltstyp anzugeben, der einer Bedingung entspricht. Überschreibt die Zuordnung in any-content-type-value und missing-content-type-value , sofern angegeben |
Nein |
content-Attribute
attribute | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
type | Inhaltstyp, für den die Textvalidierung ausgeführt werden soll; wird anhand des Inhaltstypheaders oder des in content-type-mapping zugeordneten Werts überprüft, sofern angegeben. Wenn der Wert leer ist, gilt dies für jeden im API-Schema angegebenen Inhaltstyp.Legen Sie type auf application/soap+xml für SOAP 1.2-APIs oder auf text/xml für SOAP 1.1-APIs fest, um SOAP-Anforderungen und -Reaktionen zu überprüfen (validate-as -Attribut ist auf „soap“ festgelegt). |
Nein | – |
validate-as | Validierungs-Engine zur Validierung des Texts einer Anforderung oder Reaktion mit einem passenden type . Unterstützte Werte: „json“, „xml“ und „soap“.Wenn „soap“ angegeben wird, wird der XML-Code aus der Anforderung oder Reaktion aus dem SOAP-Umschlag extrahiert und anhand eines XML-Schemas überprüft. |
Ja | – |
schema-id | Name eines vorhandenen Schemas, das der API Management-Instanz für die Inhaltsvalidierung hinzugefügt wurde. Wenn keine Angabe erfolgt, wird das Standardschema der API-Definition verwendet. | Nein | – |
schema-ref | Dies ist ein optionaler Verweis auf einen gültigen lokalen Verweispfad im JSON-Dokument für ein in schema-id angegebenes JSON-Schema. Beispiel: #/components/schemas/address . Das Attribut sollte ein JSON-Objekt zurückgeben, das als gültiges JSON-Schema von API Management behandelt wird.Für ein XML-Schema wird schema-ref nicht unterstützt. Jedes Schemaelement der obersten Ebene kann als Stamm der XML-Anforderungs- oder Reaktionsnutzlast verwendet werden. Bei der Validierung wird überprüft, ob alle Elemente, die mit dem Stamm der XML-Anforderung oder -Reaktionsnutzlast beginnen, dem bereitgestellten XML-Schema entsprechen. |
Nein | – |
allow-additional-properties | Boolesch. Gibt für ein JSON-Schema an, ob eine Außerkraftsetzung des im Schema konfigurierten Werts additionalProperties zur Laufzeit implementiert werden soll: - true : Zulassen zusätzlicher Eigenschaften im Anforderungs- oder Antworttext, auch wenn das Feld additionalProperties des JSON-Schemas so konfiguriert ist, dass keine zusätzlichen Eigenschaften zulässig sind. - false : Kein Zulassen zusätzlicher Eigenschaften im Anforderungs- oder Antworttext, auch wenn das Feld additionalProperties des JSON-Schemas so konfiguriert ist, dass zusätzliche Eigenschaften zulässig sind.Wenn das Attribut nicht angegeben ist, überprüft die Richtlinie zusätzliche Eigenschaften entsprechend der Konfiguration des Felds additionalProperties im Schema. |
Nein | – |
case-insensitive-property-names | Boolesch. Gibt für ein JSON-Schema an, ob Eigenschaftsnamen von JSON-Objekten ohne Berücksichtigung der Groß-/Kleinschreibung verglichen werden sollen. - true : Beim Vergleich von Eigenschaftsnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. - false : Beim Vergleich von Eigenschaftsnamen wird zwischen Groß- und Kleinschreibung unterschieden. |
No | false |
Aktionen
Die Inhaltsvalidierungsrichtlinien enthalten mindestens ein Attribut, das eine Aktion angibt, die API Management beim Validieren einer Entität in einer API-Anforderung oder -Antwort anhand des API-Schemas ausführt.
Eine Aktion kann für Elemente angegeben werden, die im API-Schema repräsentiert werden, und je nach Richtlinie auch für Elemente, die im API-Schema nicht repräsentiert werden.
Eine Aktion, die in einem untergeordneten Element einer Richtlinie angegeben ist, setzt eine für das übergeordnete Element angegebene Aktion außer Kraft.
Verfügbare Aktionen:
Aktion | Description |
---|---|
ignore | Die Überprüfung wird übersprungen. |
prevent | Die Verarbeitung von Anforderung oder Antwort wird blockiert, ein ausführlicher Validierungsfehler wird protokolliert, und ein Fehler wird zurückgegeben. Die Verarbeitung wird unterbrochen, wenn die ersten Fehler erkannt werden. |
Erkennen | Validierungsfehler werden protokolliert, ohne dass die Verarbeitung von Anforderung oder Antwort unterbrochen wird. |
Verwendung
- Richtlinienabschnitte: inbound, outbound, on-error
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, v2, Verbrauch, selbstgehostet, Arbeitsbereich
Protokolle
Details zu den Validierungsfehlern während der Richtlinienausführung werden in die Variable in context.Variables
protokolliert, die im Attribut errors-variable-name
im Stammelement der Richtlinie angegeben ist. Ein Validierungsfehler blockiert die weitere Verarbeitung von Anforderung oder Antwort und wird auch an die Eigenschaft prevent
weitergegeben, sofern dies in einer context.LastError
-Aktion konfiguriert ist.
Verwenden Sie zum Untersuchen von Fehlern eine Richtlinie zur Ablaufverfolgung, um die Fehler aus Kontextvariablen in Application Insights zu protokollieren.
Folgen für die Leistung
Das Hinzufügen einer Validierungsrichtlinie kann sich auf den API-Durchsatz auswirken. Es gelten die folgenden allgemeinen Prinzipien:
- Je größer das API-Schema ist, desto niedriger ist der Durchsatz.
- Je größer die Payload in einer Anforderung oder Antwort ist, desto niedriger ist der Durchsatz.
- Die Größe des API-Schemas hat größere Auswirkungen auf die Leistung als die Größe der Payload.
- Die Validierung anhand eines API-Schemas mit einer Größe von mehreren Megabyte kann unter bestimmten Bedingungen Anforderungs- oder Antworttimeouts verursachen. Dieser Effekt ist auf den Dienstebenen Verbrauch und Entwickler deutlicher ausgeprägt.
Es empfiehlt sich, Auslastungstests mit den erwarteten Produktionsworkloads durchzuführen, um die Auswirkungen von Validierungsrichtlinien auf den API-Durchsatz zu bewerten.
Schemas für die Inhaltsvalidierung
Standardmäßig werden zur Validierung von Anforderungs- oder Reaktionsinhalten JSON- oder XML-Schemas aus der API-Definition verwendet. Diese Schemas können manuell angegeben oder automatisch generiert werden, wenn eine API aus einer OpenAPI- oder WSDL-Spezifikation in API Management importiert wird.
Mithilfe der Richtlinie validate-content
können Sie optional anhand eines oder mehrerer JSON- oder XML-Schemas eine Validierung durchführen, die Sie Ihrer API Management-Instanz hinzugefügt haben und die nicht Teil der API-Definition sind. Ein Schema, das Sie API Management hinzufügen, kann für viele APIs wiederverwendet werden.
So fügen Sie Ihrer API Management-Instanz mithilfe des Azure-Portals ein Schema hinzu:
Navigieren Sie im Portal zu Ihrer API Management-Instanz.
Wählen Sie im Abschnitt APIs des linken Menüs Schemas>+ Hinzufügen aus.
Gehen Sie im Fenster Schema erstellen wie folgt vor:
- Geben Sie einen Namen (ID) für das Schema ein.
- Wählen Sie unter Schematyp die Option JSON oder XML aus.
- Geben Sie eine Beschreibung ein.
- Führen Sie in Methode erstellen einen der folgenden Schritte aus:
- Wählen Sie Neu erstellen aus, und geben Sie das Schema ein, oder fügen Sie es ein.
- Wählen Sie Aus Datei importieren oder Aus URL importieren aus, und geben Sie einen Schemaspeicherort ein.
Hinweis
Um ein Schema aus einer URL zu importieren, muss Zugriff darauf im Browser über das Internet möglich sein.
- Wählen Sie Speichern aus.
API Management fügt die Schemaressource im relativen URI /schemas/<schemaId>
hinzu, und das Schema wird auf der Seite Schemas in der Liste angezeigt. Wählen Sie ein Schema aus, um dessen Eigenschaften anzuzeigen oder es in einem Schema-Editor zu bearbeiten.
Hinweis
Ein Schema kann auf ein anderes Schema verweisen, das der API Management-Instanz hinzugefügt wurde. Fügen Sie beispielsweise ein XML-Schema ein, das API Management hinzugefügt wurde, indem Sie etwa folgendes Element verwenden:<xs:include schemaLocation="/schemas/myschema" />
Tipp
Open-Source-Tools zum Auflösen von WSDL- und XSD-Schemaverweisen und für den Batchimport generierter Schemas in API Management sind auf GitHub verfügbar.
Beispiele
JSON-Schemavalidierung
Im folgenden Beispiel werden Anforderungen mit einem leeren Inhaltstypheader oder Anforderungen mit einem Inhaltstypheader application/hal+json
als Anforderungen mit dem Inhaltstyp application/json
von API Management interpretiert. Anschließend wird die Validierung im Erkennungsmodus von API Management anhand eines Schemas ausgeführt, das für den Inhaltstyp application/json
in der API-Definition definiert ist. Meldungen mit Payloads von mehr als 100 KB werden blockiert. Anforderungen, die zusätzliche Eigenschaften enthalten, werden blockiert, auch wenn das Feld additionalProperties
des Schemas so konfiguriert ist, dass zusätzliche Eigenschaften zulässig sind.
<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
<content-type-map missing-content-type-value="application/json">
<type from="application/hal+json" to="application/json" />
</content-type-map>
<content type="application/json" validate-as="json" action="detect" allow-additional-properties="false" />
</validate-content>
SOAP-Schemaüberprüfung
Im folgenden Beispiel wird jede Anforderung von API Management als Anforderung mit dem Inhaltstyp application/soap+xml
interpretiert (dem Inhaltstyp, der von SOAP 1.2-APIs verwendet wird), unabhängig vom eingehenden Inhaltstyp. Die Anforderung kann mit einem leeren Inhaltstypheader, einem Inhaltstypheader von text/xml
(von SOAP 1.1-APIs verwendet) oder einem anderen Inhaltstypheader eingehen. Anschließend wird die XML-Nutzlast durch API Management aus dem SOAP-Umschlag extrahiert und die Überprüfung im Schutzmodus anhand des Schemas „myschema“ durchgeführt. Meldungen mit Payloads von mehr als 100 KB werden blockiert.
<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
<content-type-map any-content-type-value="application/soap+xml" />
<content type="application/soap+xml" validate-as="soap" schema-id="myschema" action="prevent" />
</validate-content>
Überprüfungsfehler
API Management generiert Inhaltsvalidierungsfehler im folgenden Format:
{
"Name": string,
"Type": string,
"ValidationRule": string,
"Details": string,
"Action": string
}
In der folgenden Tabelle werden alle möglichen Fehler der Validierungsrichtlinien aufgeführt.
- Details: Können zum Untersuchen von Fehlern verwendet werden. Nicht für die öffentliche Freigabe vorgesehen.
- Öffentliche Antwort: An den Client zurückgegebener Fehler. Gibt keine Implementierungsdetails preis.
Wenn eine Validierungsrichtlinie die Aktion prevent
angibt und einen Fehler erzeugt, enthält die Antwort von API Management einen HTTP-Statuscode 400, wenn die Richtlinie im eingehenden Abschnitt angewendet wird, und 502, wenn die Richtlinie im ausgehenden Abschnitt angewendet wird.
Name | Typ | Überprüfungsregel | Details | Öffentliche Antwort | Aktion |
---|---|---|---|---|---|
validate-content | |||||
RequestBody | SizeLimit | Der Anforderungstext ist {size} Byte lang und überschreitet das konfigurierte Limit von {maxSize} Byte. | Der Anforderungstext ist {size} Byte lang und überschreitet das Limit von {maxSize} Byte. | Erkennen/Verhindern | |
ResponseBody | SizeLimit | Der Antworttext ist {size} Byte lang und überschreitet das konfigurierte Limit von {maxSize} Byte. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern | |
{messageContentType} | RequestBody | Nicht angegeben. | Der nicht angegebene Inhaltstyp „{messageContentType}“ ist nicht zulässig. | Der nicht angegebene Inhaltstyp „{messageContentType}“ ist nicht zulässig. | Erkennen/Verhindern |
{messageContentType} | ResponseBody | Nicht angegeben. | Der nicht angegebene Inhaltstyp „{messageContentType}“ ist nicht zulässig. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
ApiSchema | Das API-Schema ist nicht vorhanden oder konnte nicht aufgelöst werden. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern | ||
ApiSchema | Das API-Schema gibt keine Definitionen an. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern | ||
{messageContentType} | RequestBody / ResponseBody | MissingDefinition | Das API-Schema enthält die Definition „{definitionName}“ nicht, die dem Inhaltstyp „{messageContentType}“ zugeordnet ist. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
{messageContentType} | RequestBody | IncorrectMessage | Der Text der Anforderung entspricht nicht der Definition „{definitionName}“, die dem Inhaltstyp „{messageContentType}“ zugeordnet ist. {valError.Message} Zeile: {valError.LineNumber}, Position: {valError.LinePosition} |
Der Text der Anforderung entspricht nicht der Definition „{definitionName}“, die dem Inhaltstyp „{messageContentType}“ zugeordnet ist. {valError.Message} Zeile: {valError.LineNumber}, Position: {valError.LinePosition} |
Erkennen/Verhindern |
{messageContentType} | ResponseBody | IncorrectMessage | Der Text der Antwort entspricht nicht der Definition „{definitionName}“, die dem Inhaltstyp „{messageContentType}“ zugeordnet ist. {valError.Message} Zeile: {valError.LineNumber}, Position: {valError.LinePosition} |
Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
RequestBody | ValidationException | Der Text der Anforderung kann für den Inhaltstyp „{messageContentType}“ nicht validiert werden. {exception details} |
Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern | |
ResponseBody | ValidationException | Der Text der Antwort kann für den Inhaltstyp „{messageContentType}“ nicht validiert werden. {exception details} |
Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern | |
validate-parameters/validate-headers | |||||
{paramName} / {headerName} | QueryParameter / PathParameter / RequestHeader | Nicht angegeben. | Ein nicht angegebener {paramName} für {path parameter / query parameter / header} ist nicht zulässig. | Ein nicht angegebener {paramName} für {path parameter / query parameter / header} ist nicht zulässig. | Erkennen/Verhindern |
{headerName} | ResponseHeader | Nicht angegeben. | Ein nicht angegebener Header „{headerName}“ ist nicht zulässig. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
ApiSchema | Das API-Schema ist nicht vorhanden oder konnte nicht aufgelöst werden. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern | ||
ApiSchema | Das API-Schema gibt keine Definitionen an. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern | ||
{paramName} | QueryParameter / PathParameter / RequestHeader / ResponseHeader | MissingDefinition | Das API-Schema enthält die Definition „{definitionName}“ nicht, die dem {paramName} für {query parameter / path parameter / header} zugeordnet ist. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
{paramName} | QueryParameter / PathParameter / RequestHeader | IncorrectMessage | Die Anforderung darf nicht mehrere Werte für den {paramName} für {query parameter / path parameter / header} enthalten. | Die Anforderung darf nicht mehrere Werte für den {paramName} für {query parameter / path parameter / header} enthalten. | Erkennen/Verhindern |
{headerName} | ResponseHeader | IncorrectMessage | Die Antwort darf nicht mehrere Werte für den Header „{headerName}“ enthalten. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
{paramName} | QueryParameter / PathParameter / RequestHeader | IncorrectMessage | Der Wert des {paramName} für {query parameter / path parameter / header} entspricht der Definition nicht. {valError.Message} Zeile: {valError.LineNumber}, Position: {valError.LinePosition} |
Der Wert des {paramName} für {query parameter / path parameter / header} entspricht der Definition nicht. {valError.Message} Zeile: {valError.LineNumber}, Position: {valError.LinePosition} |
Erkennen/Verhindern |
{headerName} | ResponseHeader | IncorrectMessage | Der Wert des Headers „{headerName}“ entspricht der Definition nicht. {valError.Message} Zeile: {valError.LineNumber}, Position: {valError.LinePosition} |
Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
{paramName} | QueryParameter / PathParameter / RequestHeader | IncorrectMessage | Der Wert des {paramName} für {query parameter / path parameter / header} kann nicht entsprechend der Definition analysiert werden. {ex.Message} |
Der Wert des {paramName} für {query parameter / path parameter / header} konnte nicht entsprechend der Definition analysiert werden. {ex.Message} |
Erkennen/Verhindern |
{headerName} | ResponseHeader | IncorrectMessage | Der Wert des Headers „{headerName}“ konnte nicht entsprechend der Definition analysiert werden. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
{paramName} | QueryParameter / PathParameter / RequestHeader | ValidationError | Der {paramName} für {Query parameter / Path parameter / Header} kann nicht validiert werden. {exception details} |
Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
{headerName} | ResponseHeader | ValidationError | Der Header „{headerName}“ kann nicht validiert werden. {exception details} |
Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
validate-status-code | |||||
{status-code} | StatusCode | Nicht angegeben. | Der Antwortstatuscode „{status-code}“ ist nicht zulässig. | Die Anforderung konnte aufgrund eines internen Fehlers nicht verarbeitet werden. Kontaktieren Sie den API-Besitzer. | Erkennen/Verhindern |
In der folgenden Tabelle sind alle möglichen Werte für den Grund eines Validierungsfehlers sowie mögliche Werte für die Meldung aufgeführt:
`Reason` | Meldung |
---|---|
Ungültige Anforderung | {Details} für die Kontextvariable, {Public response} für den Client |
Antwort nicht zulässig | {Details} für die Kontextvariable, {Public response} für den Client |
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Azure API Management-Richtlinientoolkit
- Erstellen von Richtlinien mit Microsoft Copilot in Azure