Files
api-guidelines/rest/message/foreign-key-relations.md
apidesigner 958d90ea5d Creates rest/core-principles/quality.md
Auto commit by GitBook Editor
2018-06-23 12:56:08 +00:00

68 lines
1.0 KiB
Markdown

# Foreign Key Relations
## Link or Embed Foreign Key Relation
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:
```json
{
"_links": {
"author": { "href": "/users/john" }
...
}
...
}
```
or:
```json
{
...
"_embedded": {
"author": {
"_links": { "self": "/users/john" },
"name": "John Appleseed",
"email": "john@apple.com"
}
}
}
```
instead:
```json
{
...
"authorHref": "/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:
```json
{
"author": {
"id": "1234",
"name": "John Appleseed",
"email": "john@apple.com"
}
}
```
instead:
```json
{
"authorId": "1234"
}
```
> 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.