mirror of
				https://github.com/adidas/api-guidelines.git
				synced 2025-10-25 15:19:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.1 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:
 | |
| 
 | |
| ```javascript
 | |
| {
 | |
|   "_links": {
 | |
|     "author": { "href": "/users/john" }
 | |
|     ...
 | |
|   }
 | |
|   ...
 | |
| }
 | |
| ```
 | |
| 
 | |
| or:
 | |
| 
 | |
| ```javascript
 | |
| {
 | |
|   ...
 | |
|   "_embedded": {
 | |
|     "author": {
 | |
|       "_links": { "self": "/users/john" },
 | |
|       "name": "John Appleseed",
 | |
|       "email": "john@apple.com"
 | |
|     }
 | |
|   }
 | |
| }
 | |
| ```
 | |
| 
 | |
| instead:
 | |
| 
 | |
| ```javascript
 | |
| {
 | |
|   ...
 | |
|   "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:
 | |
| 
 | |
| ```javascript
 | |
| {
 | |
|   "author": {
 | |
|     "id": "1234",
 | |
|     "name": "John Appleseed",
 | |
|     "email": "john@apple.com"    
 | |
|   }
 | |
| }
 | |
| ```
 | |
| 
 | |
| instead:
 | |
| 
 | |
| ```javascript
 | |
| {
 | |
|   "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.
 | |
| 
 |