0Pricing
Serverless Backend with AWS Lambda & API Gateway · Leçon

Transformations des requêtes et des réponses

Personnalisez les charges utiles des requêtes et des réponses d’API Gateway à l’aide de modèles de mappage (VTL) afin de vous intégrer à divers systèmes dorsaux.

Transformations des requêtes et des réponses est une leçon Serverless Backend with AWS Lambda & API Gateway gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Serverless Backend with AWS Lambda & API Gateway, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Serverless Backend with AWS Lambda & API Gateway comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Bridging the Data Gap

Imagine your API clients speak one data language, but your backend service understands another. How do you make them communicate smoothly?

API Gateway's request and response transformations act as a universal translator, modifying payloads to ensure compatibility between different systems.

Introducing Mapping Templates

At the heart of transformations are mapping templates. These are text-based templates written using the Velocity Template Language (VTL).

You define a VTL template that tells API Gateway exactly how to restructure or modify the incoming (request) or outgoing (response) data.

Request Transformations

Request transformations modify the data sent by your client before it reaches your backend service (like a Lambda function).

This is useful for:

  • Simplifying complex client requests for a backend.
  • Adding specific headers or parameters.
  • Converting data formats (e.g., XML to JSON, or a different JSON structure).

VTL for Request Mapping

Here's a simple VTL example for a request. It takes a client's id and qty and maps them to productId and quantity for your backend.

The $input variable gives you access to the incoming request body and parameters.

#set($body = $input.json('$'))
{
  "productId": "$body.id",
  "quantity": $body.qty
}

Accessing Request Context

Besides the body, you can access other request details like path parameters, query strings, and headers using the $context variable.

This allows you to enrich your backend's input with valuable contextual information from the API call.

#set($body = $input.json('$'))
{
  "userId": "$context.authorizer.claims.sub",
  "resourcePath": "$context.resourcePath",
  "itemId": "$input.params('itemId')",
  "requestedQuantity": $body.qty
}

Response Transformations

Response transformations modify the data returned by your backend service before it's sent back to the client.

This is crucial for:

  • Standardizing API responses across different backends.
  • Masking sensitive internal details from clients.
  • Converting backend output to a client-friendly format.

VTL for Response Mapping

Similar to requests, you use VTL to transform responses. Here, a backend's result field is mapped to a more generic data field for the client.

The $input variable in a response template refers to the backend's output.

#set($body = $input.json('$'))
{
  "status": "success",
  "data": $body.result
}

Conditional Response Mapping

API Gateway allows you to define different response templates based on the backend's HTTP status code. This means you can have a specific template for success (e.g., 200 OK) and another for errors (e.g., 400 Bad Request).

This provides granular control over how different outcomes are presented to the client.

#if($input.path('$.statusCode') == 200)
{
  "message": "Operation successful."
}
#else
{
  "error": "$input.path('$.errorMessage')"
}
#end

VTL Best Practices

When writing VTL templates:

  • Keep it simple: Avoid complex logic; delegate to your backend if needed.
  • Test thoroughly: Use API Gateway's test invocation feature.
  • Use $util.urlEncode: Encode values when placing them into URLs or query strings.
  • Handle nulls: Use $!variable to output an empty string if a variable is null.

Quick Check

You've learned how API Gateway transformations can reshape data. Which of the following are key benefits of using request/response transformations?

Recap: Mastering Transformations

You've learned how API Gateway transformations, powered by VTL mapping templates, are essential for building flexible and robust APIs.

By shaping both incoming requests and outgoing responses, you can ensure seamless communication between diverse clients and backend services, improving maintainability and reducing complexity.

Questions Fréquemment Posées

La leçon « Transformations des requêtes et des réponses » est-elle gratuite ?

Oui — le texte complet de « Transformations des requêtes et des réponses » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Serverless Backend with AWS Lambda & API Gateway, passe à CoddyKit PRO. Le cours Serverless Backend with AWS Lambda & API Gateway comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Transformations des requêtes et des réponses » ?

Personnalisez les charges utiles des requêtes et des réponses d’API Gateway à l’aide de modèles de mappage (VTL) afin de vous intégrer à divers systèmes dorsaux. Tu pratiques Serverless Backend with AWS Lambda & API Gateway avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Serverless Backend with AWS Lambda & API Gateway ?

Aucune expérience préalable n'est requise. Serverless Backend with AWS Lambda & API Gateway sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Transformations des requêtes et des réponses » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Serverless Backend with AWS Lambda & API Gateway ?

Oui. Chaque leçon Serverless Backend with AWS Lambda & API Gateway inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Mise en cache et limitation du débit
  2. Transformations des requêtes et des réponses
  3. Noms de domaine personnalisés et optimisation périphérique
  4. API WebSocket pour les communications en temps réel
← Retour à Serverless Backend with AWS Lambda & API Gateway