我不能将完整的对象序列化到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..}}
我很抱歉。
我在我的属性对象中放了一个注解@JsonIgnore。
@JsonIgnore私人人士;
public class Localization {
private Long id;
@JsonIgnore
private Person person;
//constructor with args
// getters and setters
}
为所有的愚蠢感到抱歉!=/
请详细说明对象定义,并详细说明您所遵循的步骤?
没有任何情况下,我没有收到一个特定的属性在它被发送后的响应,所以这一定是因为一些小错误,这将是清楚的类定义的完整查找。
当使用 postman 应用程序时,如果由于 setter/getter 方法遵循错误的命名约定而导致的属性名称更改,则会出现此类问题。
类别本地化:
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
}
您的获取方法:
@GetMapping("/getlocalization")
public Localization getlocalization() {
return new Localization(new Long(1),new Person("name","lastName"));
}
这是我的工作!!
但是,当我返回列表时,就像这段代码: 对于完全相同的API的列表返回类型的响应是正确的响应: [{“SellingPrice”:23000,“ID”:1,“Version”:1,“CreatedOn”:“25Feb 2019,05:53”,“LastUpdatedOn”:“25Feb 2019,05:53”}]
问题内容: 我的MVC控制器中有一个简单的方法: 这是一个区域对象: 这就是我从视图中调用方法的方式: 我已经检查了控制器中的方法,并创建了Area对象的列表。您有什么主意,为什么从视图中调用该方法时为什么会出现500内部服务器错误?当我返回其他任何内容(例如Dictionary对象)时,一切正常,只是当我打算将Areas列表转换为Json时,我得到一个错误。 问题答案: 由于类包含和包含的集合,
如果可以从Spring返回,我很好奇 这样做可以吗?我试过了,Spring返回的不是流的值。 我应该继续返回
我正在尝试让API控制器在ASP.NET MVC4 web应用程序中工作。但是,每一个请求都得到一个404,我很难理解。:/ 我从项目模板中定义了标准API控制器路由,如下所示: 在global.asax中调用注册: 我有这样一个基本的API控制器: 现在,当我浏览到localhost:59900/api/favorites时,我希望调用Get方法,但我得到了一个404状态代码和以下响应: 如果你
当我使用System.out.println静态方法时,下面的Java程序显示ArrayList中的所有元素。但是,当我在方法中返回列表时,它只显示ArrayList中的一个元素。我希望你能给我一些指点,让我知道你做错了什么:
注意,包括在内的log语句实际上可以抛出一个NPE,然后捕获并记录该NPE。这并不漂亮,但这也不是这里的重点。 最终,无论是否有值,我都会返回它。 在值的情况下,客户端将收到HTTP 204状态码。这是显示的内容: null 谢谢 这里有一个关于相同主题的很好的问题:当没有找到REST资源时返回404是正确的吗?