Соглашения об именах можно найти здесь: https://restfulapi.net/resource-naming/
Пожалуйста, проверьте еще раз методы HTTP и REST.
Основная концепция заключается в том, что URL-адреса представляют ресурсы, а методы HTTP, которые вы применяете к этим URL-адресам, указывают, что вы хотите делать с этими ресурсами.
GET - Читать ресурс (ы)
PUT / POST - Создать ресурс (ы)
PATCH - Обновить ресурс (ы)
DELTE - Удалить ресурс (ы)
Так что, возможно, вы могли бы использовать PATCH вместо PUT для обновления ресурсов, если вы изменили только часть атрибутов ресурса.
Также в примере DELETE вы должны использовать идентификатор питомца в качестве переменной пути, а не идентификатор человека.
Для получения всех домашних животных от человека, я думаю, что / api / person / id / pets может быть более простым, чем / api / pets / personid, потому что когда вы видите URL / api / pets / 23, вы не знаете, это домашнее животное 23 или все домашние животные человека с идентификатором 23.
Подумайте снова о лучших практиках (просто используйте поисковую систему по вашему выбору);)