You should try to prevent clients from assembling the URIs with string operations, because for that the clients would have to have intimate knowledge about server internals.
Nevertheless, elegant URI schemes are often a sign of a reasonable resource structure. When URIs are well designed, it makes life easier for a developer who wants to use a REST API; clients will appreciate URIs that are easy to remember. The ability to edit URIs manually (e.g., by truncating some of them after the "/") is a definite advantage.
As you've already seen: URIs identify resources. Resources are "things", nouns, not actions or verbs! If you have done a corrosive resource design, matching names usually come up by themselves. However, I would like to give an example here that might be an indication of a problem because of its structure or name.
http://example.com/customers/create?name=XYZ
There's been a bit of a mix-up here:
The verb "create" has no place in the URI, and the structure suggests that the action is identified by the URI, not by the HTTP verb.
Your URIs should contain nouns. For URIs that identify resources as they are intended, you can also easily imagine how the different HTTP methods work: A PUT updates a DELETE deletes, and a GET fetches information. Here is an example of how the above URI would look better:
POST http://example.com/customers/
An obvious rule for a transparent and comprehensible URI design is the mapping of hierarchical relationships to the path element structure of the URI.
Example:
http://example.com/organization/it/support/networks
So if you are the developer of the server and therefore the designer of the URI, you should make sure that a GET on http://example.com/organization/it/support also returns a useful result. In your client you should not make such an assumption in any case!
This contributes fundamentally to the stability of a distributed system and is also known as the robustness principle or Postel's law.
For the design of URIs for Filter they have different possibilities. The most obvious is to use query parameters. For a list of customers under /customers that you want to filter for all customers from Germany, an example URI might look like this:
http://example.com/customers?country=Germany
Several query components can be linked with an "&":
http://example.com/customers?country=Germany&year=2020
Here, too, they meet the expectations of the users with such a URI design. If the query string is omitted (?country=Germany&year=2020), the users are taken to the unfiltered list of all customers.
It is important to have stable URIs, and the cool URIs does not change (Tim Berners-Lee).
To answer your question:
The design should not be overrated; it should be useful, but not perfect (which is impossible to achieve anyway).