我正在设计一个RESTful API,它目前拥有的资源中包含一些可以由客户端更新的元素,而其他元素则不能。举个例子:具有只读元素的资源的RESTful部分更新?
{
id : "1234",
firstName : "George",
lastName : "Burdell",
blogPosts : { href : "http://server.com/user/1234/blogposts"}
}
的API客户端可以将新的资源或补充现有的资源,但在本例中,他们可以只写firstName
和lastName
。 id
和blogPosts
由服务器生成,不能由客户端修改。
处理尝试写入不可写字段的建议方法是什么?返回401并忽略整个更新文档? 401是否是适当的回应?
是否有包含可写元素和不可写元素的资源是一个坏主意? (我是这方面的新手,但似乎通常是不可避免的,特别是在链接到相关资源时的例子中)。