我找不到明確的文檔提及UI渲染提示是否可作爲REST元數據發回。首先,什麼都可以歸類爲REST元數據?當然,屬性的數據類型可以是元數據,但可以表示屬性是單值還是多值也可以描述元數據?怎麼樣「ishidden」和「isReadOnly」?根據我的理解,像min/max/regexp/fixed value這樣的信息是可以作爲元數據的,但不知道是否與像我上面提到的提示相關的任何內容適合REST元數據?任何指針都會有最大的幫助。REST網址是否可以將UI呈現提示作爲元數據發回?
謝謝
水稻
我找不到明確的文檔提及UI渲染提示是否可作爲REST元數據發回。首先,什麼都可以歸類爲REST元數據?當然,屬性的數據類型可以是元數據,但可以表示屬性是單值還是多值也可以描述元數據?怎麼樣「ishidden」和「isReadOnly」?根據我的理解,像min/max/regexp/fixed value這樣的信息是可以作爲元數據的,但不知道是否與像我上面提到的提示相關的任何內容適合REST元數據?任何指針都會有最大的幫助。REST網址是否可以將UI呈現提示作爲元數據發回?
謝謝
水稻
Honnestly你是免費送還給你的有效載荷想要的REST客戶端。不過,我不確定總是使用這些面向UI的元數據是個好主意。事實上,您也可以擁有在不存在UI問題的情況下使用數據的應用程序。
您可以實現一種機制,使您可以選擇要在內容關聯(Conneg基於標頭Accept
)內返回到REST客戶端的元數據級別,其方式與OData類似。這裏是下面的示例:
GET serviceRoot/People
Accept: application/json;odata.metadata=minimal
您可以設想下面的值用於報頭Accept
:
你可以下面所描述的那麼結構中的內容:
{
"property1": "value",
// Structural
"[email protected]": {
"type": "string"
},
"property2": 10,
// Structural + validation
"[email protected]": {
"type": "integer"
"minValue": 2,
"maxValue": 15
},
"property3": 10,
// Structural + ui rendering
"[email protected]": {
"type": "integer"
"minValue": 2,
"maxValue": 15,
"readOnly": true,
"hidden": false
}
}
如果你想看看在元數據是如何的OData v4的內部處理,您可以使用從odata.org以下鏈接:
編輯:在評論,inf3rno強調頭Prefer
也可以用來描述所需的元級。
下面是使用下面的示例:
GET serviceRoot/People
Accept: application/json
Prefer: metadata=rendering
希望它可以幫助你, 蒂埃裏
也許他可以使用偏好的頭文件http://tools.ietf.org/html/rfc7240來描述所需的元級別。 – inf3rno 2015-02-24 12:09:14
是的,你是對的!喜歡頭可能是一個很好的選擇。我會在我的回覆中添加這個。非常感謝! – 2015-02-24 12:47:01
您可以發送甚至HTML片段或JavaScript代碼(按需HTTP又名代碼:// WWW .ics.uci.edu /〜fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_7)如果你願意,所以發送這個UI元數據不是我想的問題。順便說一下,Thierry templier是正確的,你應該只將UI meta發送給需要它的客戶端。 – inf3rno 2015-02-24 12:11:48