Aws-cli: aws apigateway put-integration-response : la valeur des modèles de réponse de `null` n'est pas acceptée

Créé le 31 oct. 2015  ·  3Commentaires  ·  Source: aws/aws-cli

Spécifiez null dans le modèle de réponse comme suit :

aws apigateway put-integration-response \
  --region "$region" \
  --rest-api-id "$api_id" \
  --resource-id "$resource_id" \
  --http-method GET \
  --status-code 200 \
  --response-templates '{"application/json":null}'

entraîne l'erreur :

Parameter validation failed:
Invalid type for parameter responseTemplates.application/json, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'>

Si je remplace null par "Empty" la cli accepte le paramètre :

  --response-templates '{"application/json":"Empty"}'

Lorsque la console AWS crée la même méthode et que je l'interroge, la valeur s'affiche sous la forme null . Il semble que je devrais pouvoir le définir sur la même valeur via aws-cli.

aws-cli/v1.9.2

guidance

Commentaire le plus utile

La solution consiste à passer une chaîne vide au lieu de null , c'est-à-dire --response-templates '{"application/json":""}' , et vous obtiendrez

{
    "statusCode": "200",
    "responseTemplates": {
        "application/json": null
    }
}

Tous les 3 commentaires

La solution consiste à passer une chaîne vide au lieu de null , c'est-à-dire --response-templates '{"application/json":""}' , et vous obtiendrez

{
    "statusCode": "200",
    "responseTemplates": {
        "application/json": null
    }
}

Merci.

Merci @quiver et @ehammond . Je crains que la "solution de contournement" ne soit en fait la bonne façon de le faire. Le fait est que le service apigateway est modélisé comme attendant une chaîne en entrée, donc tous les SDK AWS fonctionnent de cette façon, et apigateway traduit apparemment la chaîne vide comme nulle sous le capot. Vraisemblablement, la même histoire se produit également dans la console AWS.

Cette page vous a été utile?
0 / 5 - 0 notes