Files
api-guidelines/message/foreign-key-relations.md
apidesigner e050acd295 Updates message/foreign-key-relations.md
Auto commit by GitBook Editor
2017-02-14 17:14:01 +00:00

1.0 KiB

Foreign Key Relations

When a resource representation includes 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:

{
  ...
  "author_href": "/users/john"
}

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:

{
  "author": {
    "id": "1234",
    "name": "John Appleseed",
    "email": "john@apple.com"    
  }
}

instead:

{
  "author_id": "1234"
}

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