From 3e3dc478fc9b4eb90681df89156dfcc8f7f81481 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Mon, 13 Sep 2010 13:31:56 +0200 Subject: initial import --- spec/spore.pod | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 spec/spore.pod (limited to 'spec') diff --git a/spec/spore.pod b/spec/spore.pod new file mode 100644 index 0000000..3cd44d1 --- /dev/null +++ b/spec/spore.pod @@ -0,0 +1,105 @@ +=head1 NAME + +Spore - Specifications to a POrtable Rest Environment + +=head1 SYNOPSIS + +The ReST +(L) paradigm have improved the way we communicate between +services and clients. It's easy to understand an API and to implement +the communications. + +=head1 API DESCRIPTION + +An API should provide a description file. The description should be in JSON +format. + +The description can have the following fields: + +=over 4 + +=item B (optional) + +A simple name to describe the specification (eg: CouchDB) + +=item B (optional) + +A list of authors for this specification + +=item B (optional) + +If the API have a fixed URL + +=item B (optional) + +A list of supported format (eg: JSON, XML) + +=item B (optinal) + +A version of the current description + +=item B (optional) + +A boolean to inform if this API require authentication for all the methods + +=item B (required) + +A list of methods + +=back + +The desciption B contains a list of at least one method. + +=over 4 + +=item B (required) + +An HTTP method (GET/POST/PUT/DELETE) + +=item B (required) + +Path for the given method. The path can contains B. A placeholder +B begins with a <:>: + + /:database + +=item B (optional) + +A list of parameters. This list will be used to replace value in placeholder, +and if not used in the path, will be added to the query. + +=item B (optional) + +A list of required parameters. Parameters that are required B be +repeted in the B field. + +=item B (optional) + +A list of accepted HTTP status for this method. (eg: 200, 201). + +=item B (optional) + +A simple description for the method. This should not be considered as +documentation. + + Fetch a document from a CouchDB database + +=item B (optional) + +A boolean to define if this method requires authentication + +=item B (optional) + +If this method require a different api_base_url + +=item B (optional) + +A complete documentation for the given method + +=back + +=head3 SAMPLE + +=head3 CALLS + -- cgit v1.2.3