-
Notifications
You must be signed in to change notification settings - Fork 0
Customize JSON messages
Csaba Tamas edited this page May 8, 2016
·
3 revisions
###Original Class
@JsonDeserialize(using = MediaTypeDeserializer.class)
@JsonSerialize(using = MediaTypeSerializer.class)
public class MediaType {
...
}
###Serializer:
public class MediaTypeSerializer extends StdSerializer<MediaType> {
public MediaTypeSerializer() {
super(MediaType.class);
}
@Override
public void serialize(MediaType value, JsonGenerator gen, SerializerProvider provider) throws IOException {
gen.writeString(value.getName());
}
}
###Deserializer:
public class MediaTypeDeserializer extends StdDeserializer<MediaType> {
public MediaTypeDeserializer() {
super(MediaType.class);
}
@Override
public MediaType deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
JsonNode node = p.readValueAsTree();
String mediaTypeText = node.get("media_type").asText();
return new MediaType(mediaTypeText);
}
}