Если вы ищете RESTful, рассмотрите возможность использования HATEOAS (ужасная аббревиатура, но ключ к истинному RESTful).
Используя HATEOAS, ваше представление Badge может выглядеть примерно так:
<badge>
<id>1234</id>
<name>Admin</name>
<link rel = "/rel/users"
href = "/myservice/users?badge=1234" />
<link rel = "self"
href = "/myservice/badges/1234" />
</badge>
Это позволяет вашим клиентам отсоединиться от схемы URI вашего сервера, поскольку они просто получают GET на любой другой ссылке / rel /ссылка для пользователей.Разумеется, вашему серверу все еще нужно определить схему URI внутри, но если в какой-то момент в будущем вы решите, что вам это не нужно, вы можете легко изменить его, не нарушая своих клиентов.Например, вы можете захотеть изменить схему URI на второй вариант, что приведет к изменению представления Badge на следующее:
<badge>
<id>1234</id>
<name>Admin</name>
<link rel = "/rel/users"
href = "/myservice/badges/1234/users" />
<link rel = "self"
href = "/myservice/badges/1234" />
</badge>
Клиенты, использующие отношение ссылок / rel / users, не подвержены влияниюизменение URI.Это сводится к тому, что ... использует HATEOS, и схема URI на самом деле не имеет большого значения .
Приветствия!