Java 如何在AWS Lambda POJO处理程序中使用路径参数

Java 如何在AWS Lambda POJO处理程序中使用路径参数,java,json,amazon-web-services,aws-lambda,pojo,Java,Json,Amazon Web Services,Aws Lambda,Pojo,我试图在我的POJO处理程序中利用http主体和路径参数。当前没有事件对象时,如何访问路径参数 我的处理程序如下所示: @Override public Object handleRequest(MyCustomModel model, Context context) { // Doing stuff with model that was deserialized in request body // but need path param '/some/path/{id}' }

我试图在我的POJO处理程序中利用http主体和路径参数。当前没有事件对象时,如何访问路径参数

我的处理程序如下所示:

@Override
public Object handleRequest(MyCustomModel model, Context context) {
  // Doing stuff with model that was deserialized in request body
  // but need path param '/some/path/{id}'
}

在这种情况下,最好自己处理事件对象。为此,请为lambda配置带有lambda代理集成的API网关,然后根据事件体和路径参数的内容自行填充自定义模型对象

下面是一个演示如何读取事件对象的示例:

    public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {

    LambdaLogger logger = context.getLogger();
    logger.log("Loading Java Lambda handler of ProxyWithStream");


    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    JSONObject responseJson = new JSONObject();
    String name = "you";
    String city = "World";
    String time = "day";
    String day = null;
    String responseCode = "200";

    try {
        JSONObject event = (JSONObject)parser.parse(reader);
        if (event.get("queryStringParameters") != null) {
            JSONObject qps = (JSONObject)event.get("queryStringParameters");
            if ( qps.get("name") != null) {
                name = (String)qps.get("name");
            }
        }

        if (event.get("pathParameters") != null) {
            JSONObject pps = (JSONObject)event.get("pathParameters");
            if ( pps.get("proxy") != null) {
                city = (String)pps.get("proxy");
            }
        }

        if (event.get("headers") != null) {
            JSONObject hps = (JSONObject)event.get("headers");
            if ( hps.get("day") != null) {
                day = (String)hps.get("day");
            }
        }

        if (event.get("body") != null) {
            JSONObject body = (JSONObject)parser.parse((String)event.get("body"));
            if ( body.get("time") != null) {
                time = (String)body.get("time");
            }
        }
...