Integration, testing, documentation and further development of DSpace REST services for 1.x and 2.0 versions. - Bojan Suzic |
This page is not completed. The work on specifications is ongoing. Everyone is welcome to comment or contribute! |
Project Title: |
DSpace REST API |
Student: |
Bojan Suzic, University of Technology Graz |
Mentors: |
Aaron Zeckoski, Mark Diggory |
Contacting author: |
bojan AT student . tugraz DOT at - using subject line DSpace |
SCM Location for Project: |
http://scm.dspace.org/svn/repo/modules/rest |
The REST approach promotes simplification and decoupling of software architecture, enabling further scalability, portability, granularity and simplified interaction of software systems and components.
The aim of this project is to provide DSpace with REST capable API and underlying component, which will enable developers and end-users to exploit the advantages of such approach.
Some of uses this module is intended to provide could be, for instance:
This project is continuation of last year's activities, supported by Google as part of GSoC 2009. In the first stage the basic support for REST for DSpace is provided, exposing many parts of DSpace functionality to the clients.
In this year's GSoC the following activities should be primarily addressed:
In the following sections main activities are elaborated in detail.
Changes in comparison to existing support are marked with red color. Please note that changes may appear as:
Name and description |
Value and notes |
---|---|
Base URI: |
/communities?topLevelOnly=true&idOnly=false |
Description: |
Returns a list of all communities on the system or return just top level communities. |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
/communities/{id}/parents?idOnly=false&immediateOnly=true |
Description: |
Returns a list of all parent communities of the |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
/communities/ |
Description: |
Returns a list of immediate sub-communities (children) of the |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
/communities/ |
Description: |
Returns a list of collections in the |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
/communities/ |
Description: |
Returns a list of recent submissions to a community |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
/collections?idOnly=false |
Description: |
Returns a list of all collections in the system |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
/collections/ |
Description: |
Returns a list of all communities a collection with |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
/collections/ |
Description: |
Returns a list of all items from the collection |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns a list of all objects found by searching criteria |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Sorting/ordering modifiers: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns a list of all objects that have been created, modified or withdrawn within specified time range |
HTTP method: |
|
Optional parameters: |
|
Sorting/ordering modifiers: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
|
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns detailed information about an item |
HTTP method: |
|
Required parameters: |
{ |
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
Contains an information about an item including resource name, metadata, owning collection, collections stored in, communities stored in, bundle ids, last modified date, archival/withdrawn status and submitter of an item |
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns status of user permissions on this item |
HTTP method: |
|
Required parameters: |
{ |
Response formats: |
|
Status codes |
200: OK |
Response details |
Boolean variable, stating can user edit the listed item |
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns communities this item is part of |
HTTP method: |
|
Required parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
Communities listed |
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns collections this item is part of |
HTTP method: |
|
Required parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
Collections listed |
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns bitstream object - usually the library item file |
HTTP method: |
|
Required parameters: |
{ |
Response formats: |
|
Status codes |
200: OK |
Response details |
Includes all information about referenced bitstream, including file name, licence, corresponding ittem etc. It is possible only to get information for particular bitstreams. When the request is made without parameters/references, the blank list is presented (there is no list of all bitstreams in the system available). |
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns checksum of bitstream |
HTTP method: |
|
Required parameters: |
{ |
Response formats: |
|
Status codes |
200: OK |
Response details |
Receive full bitstream |
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns list containing id, name and email of persons (optionally matching a query) |
HTTP method: |
|
Optional parameters: |
|
Sorting fields supported: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
List with information on particular user. Additionaly only identifiers are sent if idOnly is true. |
Name and description |
Value and notes |
---|---|
Base URI: |
|
Description: |
Returns general statistics |
HTTP method: |
|
Response formats: |
|
Status codes |
200: OK |
Response details |
Returns cummulative list of statistics data for the system currently available |