You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Kansalliskirjastossa on kehitetty oma REST-rajapinta (SimpleREST), jolla pääsee käsiksi ja muokkaamaan kaikkia Dspacen resursseja, kuten kokoelmia, tietueita ja käyttäjiä. Rajapinta tukee myös Dspacen omaa autentikointia. SimpleRestistä ei ole julkista dokumentaatiota saatavilla, mutta asiakaskohtaisesti voidaan neuvotella SimpleRestin käytöstä, jos se katsotaan tarpeelliseksi. Lähinnä käyttö koskee tällöin tietueiden syöttöä sekä niiden päivittämistä.

Muutama vuosi SimpleRestin valmistumisen jälkeen Dspaceen on toteutettu myös sen oma, virallinen REST-rajapinta. Rajapinnasta puuttui aluksi tietojen syöttö- ja päivitystoiminnot, mutta ne on jälkeenpäin toteutettu ja rajapinta on toiminnoiltaan nyt hyvällä tasolla. Kun rajapinnasta saadaan enemmän kokemuksia maailmalla ja se on osoittautunut ongelmattomaksi, alamme suosittelemaan sen käyttöä asiakkaillemme. Toistaiseksi käytämme kuitenkin SimpleRestiä, jossa on ollut syöttö- ja päivitystoiminnot käytössä useamman vuoden ja se on todettu vakaaksi ja toimivaksi.  

 

DSpace 5.6 REST

Viralliset ohjeet löytyvät täältä. Alle päivitetään käytännön esimerkkejä.

 

Itemin lisääminen (embargolla tai ilman)

  • Luo item: (rest osoite: /rest/collections/1/items) json payload: 

    {"name": "EmbargoTesti", "metadata": [
    	{"key": "dc.title", "value": "EmbargoTesti"},
    	{"key": "dc.embargo.terms", "value": "2017-10-19"}
    ]}
    
    

    Esimerkkivastaus: 

    {
    	"id": 224,
    	"name": "EmbargoTesti",
    	"handle": null,
    	"type": "item", "link": "/rest/items/224",
    	"expand": [ "metadata", "parentCollection", "parentCollectionList", "parentCommunityList", "bitstreams", "all" ],
    	"lastModified": "2017-10-18 14:52:17.299",
    	"parentCollection": null,
    	"parentCollectionList": null,
    	"parentCommunityList": null,
    	"bitstreams": null,
    	"archived": "false",
    	"withdrawn": "false"
    }
  • Luo bitstream: (rest osoite /rest/items/{itemId}/bitstreams?name=my_testi4.pdf&description=testitiedosto, jos haluat embargon, niin /rest/items/{itemId}/bitstreams?name=my_testi4.pdf&description=testitiedosto&groupId=0&year=2017&month=10&day=19) itemId saadaan edellisen pyynnön json vastauksesta. Tiedosto lähetetään form-datana.
    Esimerkkivastaus:

    { 
    	"id": 76,
    	"name": "my_testi4.pdf", 
    	"handle": null,
    	"type": "bitstream",
    	"link": "/rest/bitstreams/76",
    	"expand": [ "parent", "policies", "all" ],
    	"bundleName": "ORIGINAL",
    	"description": "testitiedosto",
    	"format": "Adobe PDF",
    	"mimeType": "application/pdf",
    	"sizeBytes": 741609,
    	"parentObject": null,
    	"retrieveLink": "/bitstreams/76/retrieve",
    	"checkSum": {
    		"value": "b2a29cd63a82bc03583d2562b0ac4b3c",
    		"checkSumAlgorithm": "MD5"
    	},
    	"sequenceId": -1,
    	"policies": null
    }
  • Nyt Item on luotu ja bitstream on lisätty.
  • No labels