I wonder how to interpret the include request parameter fully.
From the specs:
If an endpoint supports the include parameter and a client supplies it, the server MUST NOT include unrequested resource objects in the included section of the compound document.
The value of the include parameter MUST be a comma-separated (U+002C COMMA, “,”) list of relationship paths. A relationship path is a dot-separated (U+002E FULL-STOP, “.”) list of relationship names.
I would assume that if a server does not support the
include request param or in case a client does not provide the
include request param the server will return with default behaviour. This could returning non at or everything. This could also be different behaviour per endpoint.
In the case the server supports the include param what should be returned:
- In case the client does not provide the
includeparam? I would assume the default behaviour as there is no rule in the spec that says it MUST be provided.
- In case the client provided=s the
?include=. Should this mean that the client does not want any included data?
And further more should or can the server accept wildcards like
?include=publisher,publisher.country,author.*. Note the
* behind author to indicate that all (sub) relationships of the author should be included.