Changes between Version 1 and Version 2 of NDG3/Vocab/RestfulAPI


Ignore:
Timestamp:
13/11/08 06:40:43 (11 years ago)
Author:
lawrence
Comment:

another interim

Legend:

Unmodified
Added
Removed
Modified
  • NDG3/Vocab/RestfulAPI

    v1 v2  
    77[http://bitworking.org/news/How_to_create_a_REST_Protocol Basic REST URI concept]: 
    88 
    9  * Use HTTP methods: 
     9Use HTTP methods: 
    1010|| HTTP Method || Concept || Description || 
    1111|| GET || Retrieve || Retrieve a representation of a resource || 
     
    1313|| PUT || Update || Update a resource || 
    1414|| DELETE || Delete || Remove a resource.(This last needs careful consideration in our application) || 
    15  * On defined formats. (We need to define them). 
    16  * Expect [http://en.wikipedia.org/wiki/List_of_HTTP_status_codes status codes] plus informative messages in headers, as well as response payloads where appropriate. 
    1715 
     16On defined formats. (We need to define them). 
     17 
     18Expect [http://en.wikipedia.org/wiki/List_of_HTTP_status_codes status codes] plus informative messages in headers, as well as response payloads where appropriate. 
    1819 
    1920(Note that while we can see some advantages to following some aspects of the Atom protocol, the main concept of a list is not identical to that of a collection, 
     
    2728       * Acceptable responses: 
    2829         * 200 OK 
    29          *  
     30         * 404 Not Found (not a valid list). 
     31         * 406 Not Acceptable (not a valid version)  
    3032   * {{{vocab.ndg.nerc.ac.uk/lists/listID}}} defaults to current version. 
    3133     * GET returns a complete list (format tbd) 
     34        * Response codes as above sans 406.  
    3235     * PUT provides a set of updates for a list (e.g. a set of five operations to members of one 20,000 member list). 
     36        * Acceptable responses: 
     37          * 202 Accepted for processing. 
     38          * 404 Not Found (not a valid list) 
     39          * 406 Not Acceptable (syntax of updates is broken) 
    3340     * POST provides a completely new version of the list. (Not to be supported in first version of the software) 
     41        * At this version: respond with a 405 Method not allowed. 
    3442     * DELETE not supported. 
    35    * Note primary assumption. We cannot create a completely new list using these methods. The list denoted by listID has to exist a priori! (We might  
    36 imagine at some future time support for a new path something like: vocab.ndg.nerc.ac.uk/create/listID ... which supports POST, but that is not 
    37 anticipated any time soon). In the mean time, list creation to be carried out by direct negotiation with BODC. 
     43        * At this version:  
     44   * Note primary assumption. We cannot create a completely new list using these methods. The list denoted by listID has to exist a priori! (We might  imagine at some future time support for a new path something like: vocab.ndg.nerc.ac.uk/create/listID ... which supports POST, but that is not anticipated any time soon). In the mean time, list creation to be carried out by direct negotiation with BODC. 
     45   * {{{vocab.ndg.nerc.ac.uk/updates/listID}}} returns a complete set of pending updates on listID. 
     46     * GET returns the updates 
     47       * Acceptable Responses: 
     48          * 200 OK 
     49          * 204 No content for that list 
     50          * 404 Not a valid list 
     51     * All other options not allowed, return 405 Method not allowed for a POST, PUT, UPDATE, DELETE. 
    3852 0 Items 
    3953   * {{{vocab.ndg.nerc.ac.uk/items/listID/memberID/versionNo}}} 
     
    4458     * No other operation permitted. 
    4559    
    46 will carry out a query (tbd) against the vocabulary server. 
    47 }}} 
     60==== Hanging Issues ===== 
    4861 
     62 * Where to portion the issue associated with a client retrieving a set of updates, and sending back a new set. What if they conflict? 
    4963