Как читать параметры запроса в Java-функции AWS Lambda - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь создать простой лямбда-тип Hello World на Java и подключить его к шлюзу API. Кажется, это работает, когда я POST-объект JSON в теле, то есть в лямбда, я могу прочитать JSON. Однако я не могу понять, как читать параметры запроса или заголовки в лямбда-коде. Версия nodejs примера кода, доступного в документации aws, говорит о event.queryqueryStringParameters. Что эквивалентно этому в Java-лямбде? Ниже приведен мой самый простой код обработчика Java. Я называю это через URL API Gatweway следующим образом: curl -d '{"name": "john", "age": 23}' https://vb9lcs2c10.execute-api.us-east-1.amazonaws.com/test?hello=world

package examples;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.HashMap;
import java.util.Map;

public class HelloJava {
    public String handleRequest(String input, Context context) {
        if (context != null) {
            LambdaLogger logger = context.getLogger();
            logger.log("Inside Lambda");
        }
        try {
           // How do I read query params or headers here?
            ObjectMapper mapper = new ObjectMapper();
            Map<String,Object> response = new HashMap<>();
            Map<String,String> body = new HashMap<>();
            body.put("hello", "world: ");
            response.put("statusCode", 200);
            response.put("body",  mapper.writeValueAsString(body));
            return mapper.writeValueAsString(response);
        } catch (JsonProcessingException e) {
            throw new RuntimeException("Error with json serializer",e);
        }
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...