RESTful API in teamkube

42
RESTful API in teamKube

Transcript of RESTful API in teamkube

Page 1: RESTful API in teamkube

RESTful APIin teamKube

Page 2: RESTful API in teamkube

REST

Page 3: RESTful API in teamkube

PROTOCOLHTTP

Page 4: RESTful API in teamkube

RESOURCEURI

Page 5: RESTful API in teamkube

ACTIONGETPOST

PUTDELETE

Page 6: RESTful API in teamkube
Page 7: RESTful API in teamkube

/apple

Page 8: RESTful API in teamkube

/applePOST

Page 9: RESTful API in teamkube

/applePOST

Page 10: RESTful API in teamkube

GET/apple

Page 11: RESTful API in teamkube

GET/apple

Page 12: RESTful API in teamkube

/apple/bittenGET

Page 13: RESTful API in teamkube

GET/apple/bitten

Page 14: RESTful API in teamkube

PUT/apple/bitten

Page 15: RESTful API in teamkube

PUT/apple/bitten

Page 16: RESTful API in teamkube

DELETE/apple/bitten

Page 17: RESTful API in teamkube

DELETE/apple/bitten

Page 18: RESTful API in teamkube
Page 19: RESTful API in teamkube

SharedObject

Activity

Party

Page 20: RESTful API in teamkube

POST /{SharedObject}

GET /{SharedObject}/{id}

PUT /{SharedObject}/{id}

DELETE /{SharedObject}/{id}

Page 21: RESTful API in teamkube
Page 22: RESTful API in teamkube

POST /{SharedObject}/{id}/{relationship}

GET /{SharedObject}/{id}/{relationship}

PUT /{SharedObject}/{id}/{relationship}

task 處理紀錄

Page 23: RESTful API in teamkube

/task/d9dcf907-fcb9-4590-88d8-ece313204c9a/progressNotes

GET

Page 24: RESTful API in teamkube

/task/d9dcf907-fcb9-4590-88d8-ece313204c9a/progressNotes?pageNo=1&max=5

GET

Page 25: RESTful API in teamkube

/task/d9dcf907-fcb9-4590-88d8-ece313204c9aGET

Page 26: RESTful API in teamkube

/task/d9dcf907-fcb9-4590-88d8-ece313204c9a?fetch_minimal=true

GET

Page 27: RESTful API in teamkube

/task/d9dcf907-fcb9-4590-88d8-ece313204c9a?progressNotes.pageNo=1&progressNotes.max=5

GET

Page 28: RESTful API in teamkube

BATCH REQUEST

Page 29: RESTful API in teamkube

/task/d9dcf907-fcb9-4590-88d8-ece313204c9a?fetch_minimal=true;/task/d9dcf907-fcb9-4590-88d8-ece313204c9a/progressNotes?pageNo=1&max=5

GET

Page 30: RESTful API in teamkube

FULL-TEXT SEARCH

Page 31: RESTful API in teamkube

/sharedobject/all_objects?groupBy=type&max=10&task.orderInDescBy=modificationDate&pageNo=1&*=teamkube&types=task&searchable=true

GET

Page 32: RESTful API in teamkube

QUERY LANGUAGE

Page 33: RESTful API in teamkube

/sharedobject/all_objects?q=[type eq 'task' and coworkers[assigner].uri eq '/party/124222f9-6984-4b4b-b8f6-df68eb1f1da4' and manualDuration.endTime ge '2014-04-20T00:00:00.000 08:00' and manualDuration.endTime le '2014-04-27T00:00:00.000 08:00' and status in (drafted, responded, reopened)]&neededRoles=owners&max=10&orderInAscBy=manualDuration.endTime&pageNo=1&action=init&type=task

GET

Page 34: RESTful API in teamkube

Operator Description

eq =

ne !=

lt <

le <=

gt >

ge >=

and &

or |

in check if value occurs in the specified list

fts full-text search among structure

ftsp full-text search among primitive

Page 35: RESTful API in teamkube

/tasksPOST

REQUEST HEADERContent-Type: application/json

Page 36: RESTful API in teamkube

/task/ca06b792-4a0e-41fa-b0db-5f2c8611b302

PUT

REQUEST HEADERContent-Type: application/json

Page 37: RESTful API in teamkube

/task/ca06b792-4a0e-41fa-b0db-5f2c8611b302DELETE

Page 38: RESTful API in teamkube

SUPPORTED MIME TYPEapplication/json

multipart/form-data

Page 39: RESTful API in teamkube

STATUS CODE1xx Information

2xx Success

3xx Redirection

4xx Client Error

5xx Server Error

100 Continue, 101 Switching Protocol

200 OK, 201 Created, 202 Accept

302 Found, 304 Not Modified

400 Bad Request, 404 Not Found

500 Internal Server Error, 502 Bad Gateway

Page 40: RESTful API in teamkube

ONE MORE THING

Page 41: RESTful API in teamkube

STATELESSNESSISOLATION

Page 42: RESTful API in teamkube

Q&A