我无法将我的完整对象序列化为Java API Rest。某些属性未在响应方法中返回。
我有一个像这样的对象:
public class Localization {
private Long id;
//another properties..
private Person person;
// getters and setters
}
这是我的RestController中的方法示例:
@GetMapping("/getlocalization")
public ResponseEntity<Localization> getlocalization() {
Localization localization = new Localization();
localization.setId(1);
localization.setPerson(
new Person(..properties..)
);
return new ResponseEntity<Localization>(localization, HttpStatus.OK);
}
@GetMapping("/getlocalization")
public Localization getlocalization() {
Localization localization = new Localization();
localization.setId(1);
localization.setPerson(
new Person(..properties..)
);
return localization;
}
这是我的退货,没有人的财产:
{"id": 1, ..another properties...}
我无法获得完整的对象
{"id": 1, ..another properties..., person: {..properties..}}
答案 0 :(得分:0)
类本地化:
public class Localization {
private Long id;
private Person person;
//constructor with args
// getters and setters
}
班级人员:
public class Person {
private String name;
private String lastName;
//constructor with args
// getters and setters
}
您的Get方法:
@GetMapping("/getlocalization")
public Localization getlocalization() {
return new Localization(new Long(1),new Person("name","lastName"));
}
这对我有用!
答案 1 :(得分:0)
请您能详细说明对象定义,并进一步详细说明要执行的步骤?
在任何情况下,在发送响应后我都没有收到特定属性,因此这一定是由于一些小错误,可以通过完整查找类定义来清除。
在使用邮递员应用程序时,会出现这种问题,即属性名称会由于setter / getter方法遵循的错误命名约定而发生更改。
答案 2 :(得分:0)
对不起。
我在属性对象中添加了一个@JsonIgnore注释。
@JsonIgnore 私人人物;
public class Localization {
private Long id;
@JsonIgnore
private Person person;
//constructor with args
// getters and setters
}
对不起,所有人都愚蠢! = /