rest/json: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(→‎Proposals: http://www.json.com/specifications/json-resources/)
Line 44: Line 44:
* [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]
* [http://code.google.com/p/grassyknoll/ Grassy Knoll] (Python)
* [http://code.google.com/p/grassyknoll/ Grassy Knoll] (Python)
* [http://simile.mit.edu/wiki/Exhibit/Getting_Started_Tutorial Exhibit] ([http://simile.mit.edu/exhibit/examples/nobelists/nobelists.js example])

Revision as of 21:25, 5 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:

  1. is maximally compatible with existing (RESTful, generic) clients
  2. enables partial updates
  3. allows paging and/or partial returns of large datasets
  4. standardizes linking to related resources
  5. use of hypermedia (links + context) to manage application state
  6. does NOT become a full-fledged RPC solution

Resources

Proposals

Issues

  • Is the top-level entity a simple array (Persevere, Dojo) or a full-fledged object (CouchDB, ActiveRecord?)

Implementations