为了简单起见,假设我们正在存储用户的个人信息(这里是JSON,但这不是重点):
{
"name": "John"
"age": 35
"sex": "M"
}
我们希望让UI客户端创建表单,以便显示这些信息,以及创建新用户或更新现有用户。
所以,我的问题是:
如何以RESTful方式实现这一目标? REST是否提供了这种类型的交互,即暗示客户如何显示所提供的资源?
我们希望为客户提供最大限度的自由来表示资源,同时帮助他们向我们发回正确的数据,而不需要在后端和前端之间进行太多耦合。
例如,我们可以为user
设置模板,如下所示:
{
"self": "/template/user"
"method": "GET"
"data": {
"fields": [
{
"name": "name"
"value": {
"data_type": "string"
}
},
{
"name": "age"
"value": {
"data_type": "number"
}
},
{
"name": "sex"
"value": {
"data_type": "string"
"options": [
"M",
"F"
]
}
}
]
}
}
感谢您提供的任何输入。
答案 0 :(得分:0)
如何以RESTful方式实现这一目标? REST是否提供了这种类型的交互,即暗示客户如何显示所提供的资源?
REST的参考应用程序是万维网;我们是怎么做到的?
1)我们使用支持乐队演示指令的媒体类型(HTML),客户可自行决定是否由客户选择渲染引擎来解释
2)我们提供了辅助资源(CSS)的链接,可以选择提取这些资源以向渲染引擎提供额外的演示提示。
请注意,这取决于text / html和text / css是否定义良好(标准化),以便渲染引擎(浏览器)可以独立于服务器进行开发。
我还没有看到任何替代HTML作为与客户端共享呈现指令的标准。我作为第一种方法的建议是将您的数据表示链接到html表示,可以由了解渲染的客户端使用。