Spark Java IllegalArgumentException: class org.eclipse.jetty.server.handler.ErrorHandler 声明了多个名为 _listeners 的 JSON 字段

Spark Java IllegalArgumentException: class org.eclipse.jetty.server.handler.ErrorHandler declares multiple JSON fields named _listeners

我正在使用 Java Spark 开发一个简单的项目,目前我正在尝试实现一些 RESTful 服务。我有这个 post 方法:

post("/users", (request, response) -> {
        response.type("application/json");
        User user = new Gson().fromJson(request.body(),User.class);
        userService.addUser(user);
        return new Gson().toJson(response);
    });

我正在使用 postman 来指定请求的主体:

{   "id": "1012", 
"name": "Mac",
"lastname": "Mason1",
"email": "email"
}

而用户 class 是:

 public class User {

public int id;
public String name;
public String lastname;
public String email;

public User (int id, String name, String lastname, String email) {
    this.id = id;
    this.name = name;
    this.lastname = lastname;
    this.email = email;
}

每当我尝试执行 post 请求时,都会弹出以下错误:

ERROR spark.http.matching.GeneralError - 
java.lang.IllegalArgumentException: class 
org.eclipse.jetty.server.handler.ErrorHandler declares multiple JSON fields 
named _listeners
return new Gson().toJson(response);

此代码试图将 response 对象序列化为 JSON。这可能是一个错字(当然你的意思是 return new Gson().toJson(user);,或者完全不同的东西)并且由于 Gson 尝试递归序列化 response 的 class 层次结构中的所有字段的方式而失败。