如何解决从 json 响应中隐藏页面的默认参数 |弹簧靴| Netflix 尤里卡
我有来自 Spring Boot 的 JSON 响应,
{
"content": [],"pageable": {
"sort": {
"sorted": true,"unsorted": false,"empty": false
},"offset": 0,"pageNumber": 0,"pageSize": 10,"unpaged": false,"paged": true
},"totalPages": 0,"totalElements": 0,"last": true,"size": 10,"number": 0,"sort": {
"sorted": true,"empty": false
},"numberOfElements": 0,"first": true,"empty": true
}
但我需要如下回复,
{
"content": [],"sort": null,"numberOfElements": 0
}
简而言之,如何修改返回响应的默认参数?我可以为此设置任何额外的配置吗?提前致谢
解决方法
我猜您正在使用 spring 数据页面,因此只需创建 JsonSerializer
的实现
例如。
@JsonComponent
public class PageImplJacksonSerializer extends JsonSerializer<PageImpl> {
@Override
public void serialize(PageImpl page,JsonGenerator jsonGenerator,SerializerProvider serializers) throws IOException {
jsonGenerator.writeStartObject();
jsonGenerator.writeObjectField("content",page.getContent());
jsonGenerator.writeBooleanField("first",page.isFirst());
jsonGenerator.writeBooleanField("last",page.isLast());
jsonGenerator.writeNumberField("page_number",page.getNumber());
jsonGenerator.writeNumberField("elements_per_page",page.getNumberOfElements());
jsonGenerator.writeNumberField("total_pages",page.getTotalPages());
jsonGenerator.writeNumberField("total_elements",page.getTotalElements());
jsonGenerator.writeEndObject();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。