Foreign Key Relations

When a resource representation includes a relation with another (foreign) resource, the relation MUST be expressed as a link relation or embed the related resource.

Example

Use:

{
  "_links": {
    "author": { "href": "/users/john" }
    ...
  }
  ...
}

or:

{
  ...
  "_embedded": {
    "author": {
      "_links": { "self": "/users/john" },
      "name": "John Appleseed",
      "email": "john@apple.com"
    }
  }
}

instead of:

Nest Foreign Key Relation

If a foreign object has another identifier, but URI or the foreign object isn't a resource, the object MUST be nested.

Example

Use:

instead of:

NOTE: As a rule of thumb, in an HTTP message body, there SHOULD NOT be any field with trailing "_id," "_href," "_url" etc. in its name.

Last updated