Difference between revisions of "Home Library REST API"

From Gcube Wiki
Jump to: navigation, search
(Created page with "= Overview = The Home Library REST interface is a = Key features = Users can use the token to access to REST interface. They can access just their own files and the folders...")
 
(Replaced content with "== The Home Library has been deprecated by the new [https://wiki.gcube-system.org/gcube/StorageHub_REST_API StorageHub Service] == Please use the StorageHub service for fu...")
 
(125 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= Overview =
+
== The Home Library has been deprecated by the new [https://wiki.gcube-system.org/gcube/StorageHub_REST_API StorageHub Service] ==
 
+
Please use the StorageHub service for future developments: https://wiki.gcube-system.org/gcube/StorageHub_REST_API
The Home Library REST interface is a
+
 
+
= Key features =
+
Users can use the token to access to REST interface. They can access just their own files and the folders shared with them.
+
 
+
'''Home Library REST interface''' supports the following operations:
+
* '''Create Folder''': to create a folder in the given parent path;
+
* '''List''': to list the content of a folder;
+
* '''Upload file''': to upload a file in a folder;
+
* '''Remove files and folders''': to remove a file or a folder (including subfolders).
+
 
+
= Use cases =
+
Users can:
+
*use the browser to call API Methods
+
*implement a Client in different languages
+
 
+
= Design =
+
 
+
== Architecture ==
+
 
+
== API ==
+
=== Get started ===
+
Home Library REST is available from gCube 4.1.
+
 
+
=== Create Folder ===
+
 
+
To create a new folder:
+
<source lang="java">
+
HL_webapp/rest/CreateFolder?name=$name&description=$desc&parentPath=$path
+
</source>
+
 
+
Where:
+
* '''name''': the name of the new folder.
+
* '''description''': the description for the new folder.
+
* '''parentPath''': the position where you want to save the folder.
+
 
+
Example:
+
 
+
<source lang="java">
+
HL_webapp/rest/CreateFolder?name=myFolder&description=myDescription&parentPath=/Home/valentina.marioli/Workspace/MyDocs/
+
</source>
+
 
+
=== Upload File ===
+
 
+
To upload a file, if it does not already exist:
+
<source lang="java">
+
HL_webapp/rest/Upload?name=$name&description=$description&parentPath=$path
+
</source>
+
 
+
Where:
+
* '''name''': the file to upload
+
* '''description''': a description for the file
+
* '''parentPath''': the position where you want to save the file.
+
 
+
If you want to skip mimetype and size detect steps because you already know them, you can pass them as parameter:
+
<source lang="java">
+
HL_webapp/rest/Upload?name=$name&description=$description&parentPath=$path&mimetype=$mimetype&size=$size
+
</source>
+
 
+
You have to attach the file as mutipart content of your request.
+
 
+
 
+
=== Delete File or folder ===
+
 
+
To remove a file or a folder:
+
<source lang="java">
+
HL_webapp/rest/Delete?absPath=$path
+
</source>
+
 
+
Where:
+
* '''absPath''': the absolute path of the file/folder to remove.
+
 
+
 
+
=== List the content of a folder ===
+
To list the content of a folder:
+
<source lang="java">
+
HL_webapp/rest/ListFolder?absPath=$path
+
</source>
+
 
+
Where:
+
* '''absPath''': the absolute path of the folder to list.
+
 
+
Example:
+
 
+
<source lang="java">
+
HL_webapp/rest/ListFolder?absPath=/Home/valentina.marioli/Workspace/MySpecialFolders/gcube-devNext-NextNext/
+
</source>
+

Latest revision as of 10:53, 18 January 2019

The Home Library has been deprecated by the new StorageHub Service

Please use the StorageHub service for future developments: https://wiki.gcube-system.org/gcube/StorageHub_REST_API