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>
我正在尝试 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>