Подумайте, как бы вы реализовали этот API в качестве веб-сайта.
Возможно, у вас есть ссылка на форму - это может быть форма, в которой участник, старая команда и новая команда не заполнены, или это может быть форма, в которой участник и старая команда предварительно заполнены. Ваш потребитель обновляет информацию по умолчанию в форме по мере необходимости и отправляет ее.
Обратите внимание на первый момент (также затронутый Романом Веттнером) - вашему потребителю вообще не нужно смотреть URL-адрес. Клиент знает правила обработки формы HTML, поэтому он может создать правильный HTTP-запрос, ничего не зная о домене.
Второй момент заключается в том, что, поскольку клиент просто отправляет форму туда, куда ей указывает HTML, вы можете сделать все, что захотите.
Одним из интересных свойств HTTP является аннулирование кэша. См. RFC 7234 , любой не ошибочный ответ на небезопасный запрос сделает недействительными все кэшированные представления одного ресурса.
Таким образом, вы можете выбрать, какой ресурс будет признан недействительным, указав его URI в качестве цели формы. По сути, он дает вам механизм, позволяющий потребителю читать свои записи.
Так что некоторые разумные варианты для цели могут быть
/teams/{oldTeamId}
если состав команды - это самое главное. Или
/competitors/{competitorId}
если ресурс, который описывает игрока, является самым важным.
Я действительно не знаю, что для этого сделать.
Сконцентрируйтесь на удобстве использования. Ваша модель ресурсов - это не модель вашего домена, а не ваша модель данных.
Вероятно, будет полезно посмотреть выступление Джима Уэббера REST: DDD In the Large , чтобы получить более четкое представление о том, как должен выглядеть ваш "REST" API.