Я разрабатываю RESTful API, который в настоящее время имеет ресурсы, включающие некоторые элементы, которые могут обновляться клиентами, а другие - нет. Как пример:
{
id : "1234",
firstName : "George",
lastName : "Burdell",
blogPosts : { href : "http://server.com/user/1234/blogposts"}
}
Клиент API может PUT новый ресурс или PATCH существующего ресурса, но в примере они могут записывать только в firstName
и lastName
. id
и blogPosts
генерируются сервером и не могут быть изменены клиентом.
Каков рекомендуемый способ обработки попытки записи в недоступное для записи поле? Вернуть 401 и игнорировать весь документ обновления? Является ли 401 подходящим ответом?
Является ли наличие ресурса, который включает в себя как доступные для записи, так и не доступные для записи элементы, плохой идеей? (Я новичок в этом, но, похоже, это часто бывает неизбежно, особенно в случаях, подобных примеру, связанному со связанными ресурсами).