wiki:S3/S3REST/Methods

Version 12 (modified by Dominic König, 14 years ago) ( diff )

--

S3XRC | S3 RESTful API | Methods

S3 RESTful Methods

Important to know:

  • In XML and JSON, data resources are always exported/imported in compound with all their subresources and referenced resources.
  • In all other formats, main resources and subresources are addressed separately
  • interactive create, read, update and delete (CRUD) including list views
  • non-interactive data export/import

Standard Methods

GET

Interactive Formats

  • without method:
    • if no record ID/UID in the URL: list view of the resource
    • with a record ID/UID in the URL: read view of the specified record (if the user is permitted to update the record, an update form returned instead)

Example: http://localhost:8000/eden/pr/person/1 gives a read view of pr_person #1, or an update form for this record if permitted.

  • with method in the URL:
    • method create returns a create-form
    • method read returns a view of the specified record (other than with blank method, no update form is returned in this case)
    • method update returns an update form for the specified record
    • method delete returns a delete confirmation form together with a list of the specified records (if there is exactly one record identified by its ID or UID, then the record will be deleted instead of a form being returned, see POST)

Example: http://localhost:8000/eden/pr/person/create gives a create form for the pr_person table.

  • some resources support other (custom) methods, e.g.
    • search_simple returns a form for simple string search in the resource

Example: http://localhost:8000/eden/pr/person/search_simple to search for a person by name or ID

Non-interactive formats

  • without method:
    • returns a list of all matching records in the specified format
  • with method in the URL:
    • method create or update imports data into the resource from the specified data source:
      • ?filename= variable to specify a local file (on the server)
      • ?fetchurl= variable to specify a source URL
      • with format extension .url data are imported directly from the URL
      • if none of the above is specified, data are imported from the request body
    • method read returns a the specified records in the requested format
    • method delete deletes the specified records
  • XLS and PDF format work read-only (create/update/delete being ignored)

POST

Interactive Formats

  • performs the respective method (if specified in the request)
    • method create creates a new record
    • method update updates the specified record
    • method delete deletes the specified record
  • expects the form data as multi-part request body

Non-interactive Formats

  • see PUT

PUT

Interactive formats

  • see POST

Non-interactive formats

  • import data from the request body (which must be in the specified format) into the resource
  • records being matched by the UIDs specified in the data, while any record IDs in the URL restrict the selection

DELETE

  • deletes those of the addressed records which are deletable by the current user

DeveloperGuidelines

Note: See TracWiki for help on using the wiki.