rest/json: Difference between revisions
Jump to navigation
Jump to search
(→Implementations: http://sitepen.com/labs/persevere.php) |
(CouchDB) |
||
Line 2: | Line 2: | ||
== Charter == | == Charter == | ||
Given that: | Given that: | ||
Line 34: | Line 32: | ||
== Implementations == | == Implementations == | ||
* [http://giantrobots.thoughtbot.com/2007/4/2/jester-javascriptian-rest Jester] | * [http://incubator.apache.org/couchdb/docs/intro.html CouchDB] | ||
* [http://giantrobots.thoughtbot.com/2007/4/2/jester-javascriptian-rest Jester] (same URLs as ActiveResource) | |||
* [http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/ Dojo REST store] | * [http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/ Dojo REST store] | ||
* [http://code.google.com/p/dom-resource/ DOM Resource] | * [http://code.google.com/p/dom-resource/ DOM Resource] | ||
* [http://sitepen.com/labs/persevere.php Persevere] | * [http://sitepen.com/labs/persevere.php Persevere] | ||
* [http://github.com/sproutit/sproutcore/wikis/sproutcore-rest-api-the-definitive-guide SproutCore] | * [http://github.com/sproutit/sproutcore/wikis/sproutcore-rest-api-the-definitive-guide SproutCore] |
Revision as of 16:13, 4 September 2008
RESTful JSON
Charter
Given that:
- REST is a powerful architecture for scalable web services
- JSON is a lightweight container for exchanging data
- AtomPub, while RESTful, requires XML documents with strict metadata requirements
The goal of the RESTful JSON project is to develop a series of conventions for:
- URLs
- HTTP methods
- HTTP headers
- JSON fields
that:
- is maximally compatible with existing (RESTful, generic) clients
- enables partial updates
- allows paging and/or partial returns of large datasets
- standardizes linking to related resources
- use of hypermedia (links + context) to manage application state
- does NOT become a full-fledged RPC solution
Resources
- Original proposal
- Google Group
- [AtomPub] (for comparison/inspiration)
Proposals
Implementations
- CouchDB
- Jester (same URLs as ActiveResource)
- Dojo REST store
- DOM Resource
- Persevere
- SproutCore