所以我有要求部分输出模型必须包含UI重要信息。这些信息本质上是文本翻译和日期、价格、长度的建议格式。
因此,输出模型的示例可能是:
{
statuses : {
enumValue1 : "Display This Text",
enumValue2 : "Display This Text2",
},
thePrice : {
value : 3.50,
formattedValue : "$3.50"
},
length : {
meters 3,
formattedValue : "3 ft."
},
iAmAPropertyOnlyInGet : 42
}
现在,如果我将其作为输出模型,那么使用完全不同的输入模型是否“可以”?p>
{
status : {
enumValue1,
enumValue2,
},
thePrice : 3.50,
lengthInMeters : 3
}
最佳答案
您发送到原始服务器的表述可能与您收到的表述完全不同。考虑网络浏览器的工作方式。您获取 text/html
并发布 application/x-www-urlencoded-form
。
当使用 PUT 方法时,如果 PUT 和 GET 不相同,则相似也是正常的。
除了必须在消息中明确指定语义之外,REST 架构风格对 HTTP 负载的形状没有任何限制。
因此,事实上,在客户端和服务器之间共享模型类型而不在消息中明确标识该类型违反了自描述性 REST 子约束。
关于c# - REST 标准 - 输出模型是否应该始终匹配输入模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256258/