Contains similar advice to resource-oriented design and Google's API Improvement Proposals [1]. I've been pretty happy with resource-oriented design--makes for a very uniform API and avoids much of the bike-shedding over decisions like the filter [2] and pagination format.
> Your GETs support a filter query parameter, which works for every attribute of the resource being retrieved.
That's not easy in practice. You'd have to filter the entire collection on the server or database. For large tables, you'd need to index attributes and build the appropriate predicate, which can be challenging for normalized tables.
[1]: https://google.aip.dev/121
[2]: https://google.aip.dev/160
> Your GETs support a filter query parameter, which works for every attribute of the resource being retrieved.
That's not easy in practice. You'd have to filter the entire collection on the server or database. For large tables, you'd need to index attributes and build the appropriate predicate, which can be challenging for normalized tables.