Причина, по которой вы не найдете единого мнения о структуре URL, заключается в том, что, когда разработчики начинают понимать REST, они узнают, что структура не имеет отношения к клиенту и является просто функцией эстетики и реализаций серверной инфраструктуры.
Однако существует стандартизированный подход к достижению целей, которые вы пытаетесь достичь.
GET /people/1
Content-Type: application/vnd.hal+xml
=>
<resource rel="self" href="/people/1">
<link rel="edit" href="/people/1/editform"/>
<link rel="urn://vnd.acme.rels/create" href="/people/createform"/>
<name>Joe Foo</name>
</resource>
Встраивая ссылки в ответ, клиент может обнаружить URI, необходимый для выполнения желаемого действия.Однако, чтобы обнаружить URI, клиент должен иметь предварительные знания об отношениях ссылок («rel»), которые используются.В этом случае мы использовали «редактирование», поскольку оно имеет четко определенное поведение, описанное в Реестре ссылок IANA .Другая ссылка для доступа к форме создания, насколько мне известно, не имеет стандартного имени, поэтому я позволил себе создать ссылку с уникальным именем.
В качестве примечания я случайно использовалтип мультимедиа application / hal + xml, потому что это гибкий гипермедиа формат, но достаточно простой для понимания, не читая слишком много документации.