json-api
json-api copied to clipboard
Incorrect Handling of Nested Includes for Missing Relationships
Description:
According to the JSON:API documentation, when requesting a nested include such as destination.location for a stop resource, if the stop does not have a destination attached to it, the response should return destination=null instead of breaking with an error.
Steps to Reproduce:
- Create a resource
location. - Create a resource
destinationwith nullable relationshiplocation. - Create a resource
stopwith nullable relationshipdestination. - Request the
stopresource with the includedestination.location. (Ensure that thestopresource does not have adestinationattached)
Expected Behavior:
The response should include:
"relationships": {
"destination": {
"data": null
}
}
Actual Behavior:
The request fails with an error due to the missing destination resource ($this->resource):
ErrorException: Attempt to read property \"location\" on null
Linked Pull Request:
PR: https://github.com/timacdonald/json-api/pull/70