2017-05-18 1 views
0

zu validieren Der neu veröffentlichte "x-amazon-apigateway-request-validator" (im April glaube ich) soll eine JSON Schema Validierung gegen den POST/PUT Nutzlast einer API.Wie man AWS API Gateway erhält, um JSON Body gegen Model

Ich habe versucht, dies auf verschiedene Weise jetzt zu implementieren, aber ich kann es nicht machen ... Ich habe die Validierer hinzugefügt:

"x-amazon-apigateway-request-validators": { 
    "ValidateBody": { 
    "validateRequestParameters": false, 
    "validateRequestBody": true 
    }, 
    "ValidateHeaders": { 
    "validateRequestParameters": true, 
    "validateRequestBody": false 
    } 

}

Für methind I suchen Sie nach bestimmten Header werden so habe ich auch die Parameter in der „Wurzel“ des Swagger:

"x-amazon-apigateway-request-validator": "ValidateHeaders" 

im POST habe ich ein x-amazon-apigateway-request-validator: ValidateBody und dann ein Modell w its mit dem JSON-Schema, in dem mehrere Elemente required sind.

Ich kann aber alles veröffentlichen, solange es JSON ist ... Es gibt keine Validierung gegen das JSON Schema getan ...

Was bin ich?

+0

Dies ist die Anleitung, die ich verfolgt haben: http://docs.aws.amazon.com/apigateway/latest/ Entwicklerguide/API-Gateway-Methode-Anfrage-Validierung.html – Anders

Antwort

1

Es funktioniert! Es gibt eine Zeitverzögerung zwischen der Bereitstellung und der tatsächlichen Verwendung des neuen Codes, obwohl ich anscheinend keine Zwischenspeicherung durchführe.

Ging zum Mittagessen und kam zu einer funktionierenden Lösung zurück!

{ 
    "message": "Invalid request body" 
} 

Es wäre schön zu können, wenn die Antwortnachricht ändern ...

+0

Hallo Anders, ich bin mit dem gleichen Problem konfrontiert. Ich frage mich, ob es unmöglich ist, diese Antwortnachricht anzupassen? – tianz

+0

Ja, wenn Sie unter "Gateway-Antworten" überprüfen, finden Sie 'Bad Request Body (400)', wo Sie die Nachricht ändern können – Anders

+0

@Anders Ich fragte etwas in Bezug auf https://Stackoverflow.com/q/47953570/89771 , kennen Sie zufällig die Lösung? –

Verwandte Themen