API - flinux84/CloudMine GitHub Wiki
Sökväg och nuvarande version till api:t
[ApiVersion( "1.0" )]
[Route( "api/v{version:apiVersion}/FileItems" )]
tex: http://www.localhost:25952/api/v1.0/FileItems/
POSTMAN
Postman Collection
Importera denna i Postman så bör ni får en collection med olika requests som ni kan testa mot servern.
DELETE requesten kan behöva ändra sin sökväg ifall det id:t inte finns kvar i databasen.
Nuvarande metoder:
GET
Sökväg: http://www.localhost:25952/api/v1.0/FileItems/
Paging: Man kan nu lägga till ?pageNo=1&pageSize=5, http://www.localhost:25952/api/v1.0/FileItems?pageNo=1&pageSize=5
Default-värden om man inte skickar med något är pageNo=1 och pageSize = 20. I response headern så finns det nu ett nytt
fält som heter X-PageInfo som innehåller ett json-objekt som kan se ut så här om man är på sida 2:
{
"pageNo":2,
"pageSize":5,
"totalFileItems":14,
"totalPages":3,
"prevPageLink":"http://localhost:25952/api/v1.0/FileItems?pageNo=1&pageSize=5",
"nextPageLink":"http://localhost:25952/api/v1.0/FileItems?pageNo=3&pageSize=5"
}
Det objektet kan användas tex till att skapa a-länkar till nästa/föregående sida osv.
Returnerar: JSON-array med FileItem för den INLOGGADE användaren
Exempel på return:
[
{
"id": 12,
"checksum": "725864a7-97f6-4dfc-bb20-7f420f3994c0",
"fileName": null,
"description": "test3",
"uploaded": "0001-01-01T00:00:00",
"private": false,
"dataType": "jpg",
"fileSize": 4,
"userId": "d20de083-2590-4541-a594-fa6c4e2c3ff4",
"dataChunks": null
},
{
"id": 13,
"checksum": "adf90aaa-a37c-47f5-8692-6bf3cee69321",
"fileName": null,
"description": "test3",
"uploaded": "0001-01-01T00:00:00",
"private": false,
"dataType": "jpg",
"fileSize": 4,
"userId": "d20de083-2590-4541-a594-fa6c4e2c3ff4",
"dataChunks": null
}
]
GET Id
Sökväg: http://www.localhost:25952/api/v1.0/FileItems/5/
Returnerar: Ett JSON-object av typen FileItem
Exempel på return:
{
"id": 5,
"checksum": "136ce6e9-2c2a-400f-b682-4bb31b6c2921",
"fileName": null,
"description": null,
"uploaded": "0001-01-01T00:00:00",
"private": false,
"dataType": null,
"fileSize": 0,
"userId": "A345204B-C91A-42E4-87A0-03EB585090B1",
"dataChunks": null
}
POST
Sökväg: http://www.localhost:25952/api/v1.0/FileItems/
Returnerar: Ett JSON-objekt av typen FileItem som skapades
Ett tomt objekt kan skickas in för att skapa metadatan annars kan man använda alla fälten nedanför FÖRUTOM id-fältet.
Exempel på return:
{
"id": 5,
"checksum": "93657799-3937-48db-ab50-65d22be62732",
"fileName": null,
"description": "test3",
"uploaded": "0001-01-01T00:00:00",
"private": false,
"dataType": "jpg",
"fileSize": 4,
"userId": "a345204b-c91a-42e4-87a0-03eb585090b1",
"dataChunks": null
}
PUT
Sökväg: http://www.localhost:25952/api/v1.0/FileItems/6/
Returnerar: 204 No Content för tillfället. Får man 204 så har ändringarna gått igenom ändå.
Exempel på objekt att skicka:
{
"id": 6,
"checksum": "1517f9ff-62c2-4b3b-98ec-9d3a0abd63cd",
"fileName": "null",
"description": null,
"uploaded": "0001-01-01T00:00:00",
"private": false,
"dataType": null,
"fileSize": 0,
"userId": "a345204b-c91a-42e4-87a0-03eb585090b1",
"dataChunks": null
}
DELETE
Sökväg: http://www.localhost:25952/api/v1.0/FileItems/6/
Returnerar: Ett JSON-Objekt av typen FileItem som raderades.
Exempel på return:
{
"id": 6,
"checksum": "1517f9ff-62c2-4b3b-98ec-9d3a0abd63cd",
"fileName": "null",
"description": null,
"uploaded": "0001-01-01T00:00:00",
"private": false,
"dataType": null,
"fileSize": 0,
"userId": "a345204b-c91a-42e4-87a0-03eb585090b1",
"dataChunks": null
}