Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add links to jersey REST API

DSpace REST API 

...

Warning

This page is outdated, and refers to documentation for the 2011 Google Summer of Code prototype REST API project. This GSoC project is not developed anymore and it has spawned successors and alternatives. You can learn more about current REST API efforts here:

Excerpt

This is a wiki page for DSpace REST API addon. The project is in development phase, but can be tested by the users. For the details please check this page.

...

Project Title:

DSpace REST API

Author:

Bojan Suzic

Mentors (at GSoC):

Aaron Zeckoski, Mark Diggory

Contacting author:

bojan.suzic AT gmail _DOT _com - using subject line DSpace REST

SCM Location for Project:

http://scm.dspace.org/svn/repo/modules/dspace-rest/

Alternative (improved)https://github.com/wijiti/dspace-rest-api

 

Project description


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.

...

Important: During Q1-Q3 of 2012 thanks to Hayden Young and other contributors from Wijiti Pty Ltd a great effort has been invested to continue the development of REST API for DSpace. They reworked the code base, refreshed the project to be compatible with newest DSpace 1.8.1 version, fixed the bugs and provided the integration of DSpace, REST API and Joomla CMS. There are also other numerous improvements introduced. Their contribution can be reached via GitHub, including development site and documentation update.

Based on this update, the integration with Joomla CMS is provieded as a part of the Saber Project, which has been implemented and demonstrated at Monash University.

 

Release plan and issues

It is expected to have working and tested code for DSpace 1.8 release. According to relevant discussions on DSpace developer meetings, there is possibility to have this code released asynchronously of DSpace, as independent module. After initial release the code will be actively maintained.

...

C

Verb

URL

Description

Mandatory parameters

Optional parameters

Response Data

Formats

Response codes

 

POST

/communities

Action to be done under community id, adding new content or values.

Supported actions:
createAdministrators
createCollection
createSubcommunity

id, action



-
name
name

-

Id of newly created entity, depending on the action selected:
id of group of administrators
id of collection
id of subcommunity

json 
xml

200, 400, 401, 403, 500

 

PUT

/communities/{id}/{element}

Update the field element of the community id.

Supported fields:
name - change name
shortDescription - change short description
copyrightText - change copyright text
sidebarText - change sidebar text
introductoryText - change introductory text
collections - add existing collection
children - add existing subcommunity

id


value
value
value
value
value
cid
cid

-

Response code

 

200, 400, 401, 403, 500

 

PUT

/communities/{id}/logo

Set the logo for community id

id

-

Response code

binary

200, 400, 401, 403, 500

 

DELETE

/communities/{id}

Delete community from the system

id

-

Response code

json
xml

200, 400, 401, 403, 500

 

DELETE

/communities/{id}/{element}/{eid}

Remove attribute/value eid of element element from the community id.

Suported elements:
collections
children
administrators

id, eid



cid
cid
-

-

Response code

json
xml

 

 

POST

/collections

Action to be done under collection id, adding new content or values.

Supported actions:
createAdministrators
createSubmitters
createTemplateItem
createWorkflowGroup

id, action

 

-
-
-
step

-

Id ow newly created element

json
xml

200, 400, 401, 403, 500

 

PUT

/collections/{id}/{element}

Update field element of the collection id.

Supported elements:
shortDescription - short description
introText - introductory text
copyrightText - copyright text
sidebarText - sidebar text
provenance - provenance
licence - collection licence
name - collection name

id 


value
value
value
value
value
value
value

-

Response code

json
xml

200, 400, 401, 403, 500

 

DELETE

/collections/{id}

Delete collection from the system - CANNOT BE DONE DIRECTLY

-

-

Response code

json
xml

200, 400, 401, 403, 500

 

DELETE

/collections/{id}/{element}/{cid}

Remove attribute/value cid from collection id
Supported attributes:
administrators
item
submitters
templateItem

id, cid

-

Response code

json
xml

200,400,401,403,500

PUT

/collections/{id}/logo

Set the logo for collection id

id

 

Response code

binary

200,400,401,403,500

POST

/items

Action to be done under item id, adding content or value.

Supported actions:
createBundle
createBitstream

id, action



name
name, input

 

Id of newly created element

json,xml, binary

200,400,401,403,500

PUT

/items/{id}/{element}

Update field element of the item id

Supported fields:
isArchived
isWithdrawn
owningCollection
submitter

id,element

-

Response code

json,xml

200,400,401,403,500

DELETE

/items/{id}

Delete item from the system

id

-

Response code

json,xml

200,400,401,403,500

DELETE

/items/{id}/{element}/{eid}

Delete element/attribute eid from the item id

Supported fields for element:
bundle
licences 

id,element,eid

-

Response code

json,xml

200,400,401,403,500

...