Java Micronaut JSON序列化-使用getter而不是字段

Java Micronaut JSON序列化-使用getter而不是字段,java,jackson,micronaut,Java,Jackson,Micronaut,默认情况下,当使用SpringMVC时,@RestControllers返回一个对象时,它将根据其getter而不是字段序列化为JSON 是否有任何方法可以将Micronaut配置为这样的行为?例如: public class User { private String email; private String password; public String getEmail() { return email; } } @Controller public cl

默认情况下,当使用SpringMVC时,@RestControllers返回一个对象时,它将根据其getter而不是字段序列化为JSON

是否有任何方法可以将Micronaut配置为这样的行为?例如:

public class User {

  private String email;
  private String password;

  public String getEmail() {
    return email;
  }

}

@Controller
public class UserController {

  public User getUser() {
    ...
  }

}
因此,这应该返回:

{
  "email": "email@addres.com"
}
与此相反:

{
  "email": "email@addres.com",
  "password": "pass"
}
我知道Jackson的注释,但是,我只是想了解是否可以将Micronaut配置为这样


谢谢。

它应该按预期工作,不应该显示密码。如果存在getter(密码),则不显示任何字段

从没有任何功能的项目开始:

然后

http://localhost:8080
结果是:

{
"email": "email@address.com"
}

micronaut是否使用反射?谢谢分享。我认为这与这个问题无关,因为这解释了Bean定义不依赖于反射。不过,我显然是用错误的方式提出了我的问题:实际上,我试图实现的是将jackson配置为使用getter而不是字段。我刚刚更新了这个问题。好的,但是您的示例生成了您描述的确切json。。。您只会错过端点上的
@Get
,实际上并非如此。在我给出的示例中,密码也正在序列化。真的吗?没有getter,它不应该。。。如果我试一下也不行。嗯,也不知道发生了什么。我刚刚使用launch重新生成了项目,现在它按预期工作。谢谢你抽出时间。
{
"email": "email@address.com"
}