Created
February 8, 2016 09:45
-
-
Save AmilKey/61068af43bd7963d7151 to your computer and use it in GitHub Desktop.
JSONSerializer ember data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| `JSONSerializer` will normalize the JSON payload to the JSON API format that the | |
| Ember Data store expects. | |
| You can customize how JSONSerializer processes its payload by passing options in | |
| the `attrs` hash or by subclassing the `JSONSerializer` and overriding hooks: | |
| - To customize how a single record is normalized, use the `normalize` hook. | |
| - To customize how `JSONSerializer` normalizes the whole server response, use the | |
| `normalizeResponse` hook. | |
| - To customize how `JSONSerializer` normalizes a specific response from the server, | |
| use one of the many specific `normalizeResponse` hooks. | |
| - To customize how `JSONSerializer` normalizes your id, attributes or relationships, | |
| use the `extractId`, `extractAttributes` and `extractRelationships` hooks. | |
| The `JSONSerializer` normalization process follows these steps: | |
| - `normalizeResponse` - entry method to the serializer. | |
| - `normalizeCreateRecordResponse` - a `normalizeResponse` for a specific operation is called. | |
| - `normalizeSingleResponse`|`normalizeArrayResponse` - for methods like `createRecord` we expect | |
| a single record back, while for methods like `findAll` we expect multiple methods back. | |
| - `normalize` - `normalizeArray` iterates and calls `normalize` for each of its records while `normalizeSingle` | |
| calls it once. This is the method you most likely want to subclass. | |
| - `extractId` | `extractAttributes` | `extractRelationships` - `normalize` delegates to these methods to | |
| turn the record payload into the JSON API format. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment