Add PageJacksonSerializer for unifying page response

pull/137/head
johnniang 2019-03-19 17:03:43 +08:00
parent 6c2719311c
commit 0531dcf1ad
1 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,32 @@
package cc.ryanc.halo.web.support;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.springframework.boot.jackson.JsonComponent;
import org.springframework.data.domain.Page;
import java.io.IOException;
/**
* Custom serializer for Page object.
*
* @author johnniang
* @date 3/19/19
*/
@JsonComponent
public class PageJacksonSerializer extends JsonSerializer<Page> {
@Override
public void serialize(Page page, JsonGenerator generator, SerializerProvider serializers) throws IOException {
generator.writeStartObject();
generator.writeObjectField("content", page.getContent());
generator.writeNumberField("pages", page.getTotalPages());
generator.writeNumberField("total", page.getTotalElements());
generator.writeNumberField("page", page.getNumber());
generator.writeNumberField("rpp", page.getSize());
generator.writeEndObject();
}
}