From 103b8a20ca50af0105feba710c9c443c1683556c Mon Sep 17 00:00:00 2001 From: Jon Peterson Date: Sat, 6 Aug 2016 09:59:12 -0400 Subject: [PATCH] Adding diagram to README. --- README.md | 5 ++++- images/diagram.png | Bin 0 -> 34014 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 images/diagram.png diff --git a/README.md b/README.md index 85e9065..8e59d4b 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,9 @@ GET /api/car/v2/{id} -> CarV2 But what if there was a way that only required a single model class that could be annotated to control conversion between versions of the raw data before deserialization and after serialization? That is what this Jackson module provides. +## Diagram +![Diagram](images/diagram.png) + ## Examples *Note: All examples are using Groovy for brevity, but it is not required.* @@ -101,7 +104,7 @@ println mapper.writeValueAsString(hondaCivic) // prints '{"make": "honda", "model": "civic", "year": 2016, "used": false, "modelVersion": "3"}' ``` -### Example: Serializing To A Specific Version +### Serializing To A Specific Version **Modify the model in the prvious example to also specify what converter class to use when serializing from the current version to a potentially old version of the model. Also add a field (can be a method) that returns the version that the model to be serialized to.** ```groovy @JsonVersionedModel(currentVersion = '3', diff --git a/images/diagram.png b/images/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..cea9ff3fd780bffa1c265a260cb9c0d44b5cba6c GIT binary patch literal 34014 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