Мой код контроллера -
public TestClass<DtoV1> getAllAlliance(@RequestHeader(ID_HEADER) String id,Pageable pageable, PagedResourcesAssembler pagedResourcesAssembler)
{
Page<DtoV1> pageResource = serviceV1.findPagedPrefixesById(pageable, id);
PagedResources<DtoV1> pagedResources = pagedResourcesAssembler.toResource(pageResource);
TestClass<DtoV1> testClass = new TestClass<>(pageResource.getContent(),pagedResources.getLinks());
return testClass;
}
Мой обертка TestClass -
enter code herepublic class TestClass<T> {
public String name;
public Collection<T> content;
public List<Link> links;
public String[] st= new String[0];
public TestClass(Collection<T> content,List<Link> links)
{
this.content = content;
this.name="sunil";
this.links = links;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonProperty("_name")
public String getName()
{
return this.name;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonProperty("_st")
public String[] getSt() {
return st;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonProperty("_embedded")
public Collection<T> getContent()
{
return this.content;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonProperty("_links")
public List<Link> getLinks() {
return this.links;
}}
Мой результат -
{
"_name": "sunil",
"_embedded": [
{
"key": "0000435",
"type": "Test",
"issuing": "temp",
"issued": "temp",
"dateIssued": "1989-10-22",
"links": []
}],
"_links": [
{
"rel": "first",
"href": "http://localhost:8080/v1?page=0&size=20",
"hreflang": null,
"media": null,
"title": null,
"type": null,
"deprecation": null
}]
}
Если вы видите, я создал строка пустого массива st в тестовом классе он не приходит, но почему приходят остальные
Ожидаемые нулевые и пустые значения не будут приходить при использовании @ JsonInclude (JsonInclude.Include.NON_EMPTY)