Microservice to generate a diff (RFC 6902) between two json documents A & B, that can be also used to transform/patch document A into document B.
If you have a given JSON document with a series of updates, this can be used to reduce the amount of data to send over the wire.
Built using jsonpatch.
Execute the microservice container with the following command :
docker run -ti -p 9909:80 msagency/msa-json-patch
$ curl -X POST "http://localhost:9909/json/diff" -H "Content-Type: application/json" \
-d '[{"name": "test","val": 10}, {"name": "test","val": 20}]'
{
"data": "[{\"op\": \"replace\", \"value\": 20, \"path\": \"/val\"}]"
}
$ curl -X POST "http://localhost:9909/json/patch" -H "Content-Type: application/json" \
-d '[{"name": "test","val": 10}, [{ "op": "replace","path": "/val", "value": 20}]]'
{
"data": {
"name": "test",
"val": 20
}
}
- POST /json/diff : Returns a diff between two JSON documents A and B. Expected input is [A,B]
- POST /json/patch : Returns the generated document B from patching the document A. Expected input is [A, patch]
- GET /ms/version : returns the version number
- GET /ms/name : returns the name
- GET /ms/readme.md : returns the readme (this file)
- GET /ms/readme.html : returns the readme as html
- GET /swagger/swagger.json : returns the swagger api documentation
- GET /swagger/#/ : returns swagger-ui displaying the api documentation
- GET /nginx/stats.json : returns stats about Nginx
- GET /nginx/stats.html : returns a dashboard displaying the stats from Nginx
A project by the Microservices Agency.