rest/json: Difference between revisions
Jump to navigation
Jump to search
(initial page) |
(Charter) |
||
Line 1: | Line 1: | ||
= RESTful JSON = | = RESTful JSON = | ||
== Charter == | |||
Given that: | |||
* [http://en.wikipedia.org/wiki/Representational_State_Transfer REST] is a powerful architecture for scalable web services | |||
* [http://www.json.org/ JSON] is a lightweight container for exchanging data | |||
* [http://tools.ietf.org/html/rfc5023 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 == | == Resources == | ||
* [http://bitworking.org/news/restful_json Original proposal] | * [http://bitworking.org/news/restful_json Original proposal] | ||
* [http://groups.google.com/group/restful-json Google Group] | * [http://groups.google.com/group/restful-json Google Group] | ||
* [ | * [AtomPub] (for comparison/inspiration) | ||
== Proposals == | == Proposals == | ||
* [[rest/urls]] | * [[rest/urls]] | ||
* [[rest/json-collections]] | * [[rest/json-collections]] | ||
* [http://www.sitepen.com/blog/2008/06/17/json-referencing-in-dojo/ JSON Referencing] | |||
== Implementations == | == Implementations == |
Revision as of 19:54, 2 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)