PATCH
允许仅更新资源的某些字段,从而导致部分更新,而PUT
更新完整资源。 GET
只能获得完整的资源。
是否存在部分查询资源的RESTful
约定,如果所述资源非常繁重且包含大量字段?
可能是关于URL中查询的约定?还是另一个伪资源的定义?
答案 0 :(得分:2)
没有任何其他方法专门用于获取资源的一部分。根据我的经验,有两个简单的选择。 (我的意见是第二种选择更好,但那里可能存在分歧。)
使用查询参数可以选择要返回的属性。
GET /basket/17
{
"blueberry": 5,
"grape": 7,
"watermelon": "<base64 encoded file>"
}
GET /basket/17?p=blueberry&p=grape
{
"blueberry": 5,
"grape": 7
}
资源的所有重要属性都成为单独的资源,主要资源具有指向它们的链接。
GET /basket/17
{
"blueberry": 5,
"grape": 7,
"watermelon": "/basket/watermelon/17"
}
GET /basket/watermelon/17
<bytes of file>
答案 1 :(得分:0)
您可以定义自定义范围单元来表达您的语义并使用GET。请参阅http://greenbytes.de/tech/webdav/rfc7233.html。