AWS Lambda:return 类型字符串与 POJOClass 不兼容

AWS Lambda: return type String is not compatible with POJOClass

我正在尝试 return 来自 handleRequest 的字符串。我使用 GSON 从 JSON 生成字符串。

方法如下:

public String handleRequest(Map<String, String> input, Context context){
    final Gson gson = new GsonBuilder().create();

    String json;

    //other logic here

    json = gson.toJson(myPOJOResponseClass);
    return json
}

我收到此错误:return 类型字符串与 myPOJOResponseClass 不兼容

我试图将 return 类型更改为 Object,但没有成功。我尝试使用 JSONObject 将 String 显式转换为 JSON 并将 return 类型也更改为 JSONObject ,但这也不起作用。

如有任何帮助,我们将不胜感激。

PS:如果这很重要,我正在使用 Lombok 生成我的 POJO class。

您没有为上下文提供太多代码,但根据文档,您可能已经做了类似这样的事情:

public class HelloPojo implements RequestHandler<Map<String, String>, myPOJOResponseClass>

这意味着要实现接口,您的 handleRequest(...) 函数需要 return myPOJOResponseClass.

如果是这样,试试这个:

public class HelloPojo implements RequestHandler<Map<String, String>, String>