Java Micronaut JSON序列化-使用getter而不是字段
默认情况下,当使用SpringMVC时,@RestControllers返回一个对象时,它将根据其getter而不是字段序列化为JSON 是否有任何方法可以将Micronaut配置为这样的行为?例如: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
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"
}