Representational State Transfer (REST) Operations
GET on Complex Member Resources
If a member resource M ‘contains’ a collection or other member resource,
we can represent M as follows:
via links: Links to other resources are embedded
{" id ":" 2 0 1 91 2 34 5 6 " , " sname ": " Ady " , " fname ": "Ada ",
" _links " :[{ " href ":" stu d e n ts /201 9 12 34 5 6/ addr e s se s " ,
" method ":" GET " ," rel ": " addresses "} ,
{" href " :" students / 2 01 9 12 3 45 6 ",
" method ":" GET " ," rel ": " self " }]}
This provides the most ‘compact’ representation
via relationships: Links to each member resource of each collection are
embedded
{" id ":" 2 0 1 91 2 34 5 6 " , " sname ": " Ady " , " fname ": "Ada ",
" rela ti on sh i ps ": {
" addresse s " :[ " students /2019 12 3 45 6/ addre s s es / tAddr " ,
" students /2019 1 23 4 56 / addresses / pAddr " ]}}
This is most appropriate if those member resources exist independently,
for example, modules, academic advisors (but not addresses)
COMP519 Web Programming Lecture 27 Slide L27 – 17