[wp-trac] [WordPress Trac] #48266: REST API: logic used to filter nested _fields does not account for specifying multiple siblings
WordPress Trac
noreply at wordpress.org
Wed Oct 9 21:38:38 UTC 2019
#48266: REST API: logic used to filter nested _fields does not account for
specifying multiple siblings
--------------------------+--------------------------------------
Reporter: kadamwhite | Owner: kadamwhite
Type: defect (bug) | Status: assigned
Priority: normal | Milestone: 5.3
Component: REST API | Version: trunk
Severity: normal | Keywords: has-unit-tests has-patch
Focuses: rest-api |
--------------------------+--------------------------------------
In #42094 we introduced logic to extend the `_fields` query parameter in
order to specify that we wanted only one piece of a deeply nested object.
While writing the dev note for this feature I discovered a logical error
where our logic failed to account for the case where we specify two
sibling properties of the same nested object.
For example, given the response object
{{{#!json
{
"id": 1,
"meta": {
"key1": 1,
"key2": 2
}
}
}}}
and the query `/wp/v2/posts/1?_fields=meta.key1,meta.key2`, only meta.key2
will be included.
We can fix this by adjusting the manner in which
`rest_filter_response_fields` sets the `$ref[ $next ]` value to account
for an existing array at that location.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/48266>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list