Hacker News new | ask | show | jobs
by claytongulick 1921 days ago
Surprised no one has mentioned what (to me) is the killer feature of REST, JSON-patch [1]

Completely solves the PUT verb mutation issue and even allows event-sourced like distributed architectures with readability (if your patch is idempotent)

I married it to mongoose [2] and added an extension called json-patch-rules to whitelist/blacklist operations [3] and my API life became a very happy place.

I've replaced hundreds of endpoints with json-patch APIs and some trivial middleware.

When you couple that stack with fast-json-patch [4] on the client you just do a simple deep compare between a modified object and a cloned one to construct a patch doc .

This is the easiest and most elegant stack I've ever worked with.

[1] http://jsonpatch.com/

[2] https://www.npmjs.com/package/mongoose-patcher

[3] https://github.com/claytongulick/json-patch-rules

[4] https://www.npmjs.com/package/fast-json-patch