我正在开发REST API,我对资源表示有疑问.
假设我在/ app/person/{id} URI下获得了"person"资源.我需要一个XML表示,基本上所有的对象字段都是根目录下的XML节点.现在需求表明我们还必须支持由专有模式强制执行的另一种XML表示.
问题是:是否在REST最佳实践下支持同一资源的"text/my-type"等专有内容类型?请注意,两者都是XML,但格式不同,最重要的是它们不携带相同的信息(例如,一个表示可能包括其他字段,如"modified-since")
重要的是:我知道务实并保持简单,这比指南和"最佳实践"更重要,但我只是想知道这是否是在RESTful架构下的方式.
如果第二种格式只是一种不同的语法(或者可以合理地被视为这种格式),那么将它作为具有另一种媒体类型的第二种表示添加它是完全正常的(并且RESTful并且符合REST最佳实践).如果您认为差异不仅仅是语法上的,那么您应该创建一个不同的资源.如果您希望能够链接到特定表示,则情况也是如此(因为如果您想这样做,它需要不同的URI).在后一种情况下,您可能还需要考虑一个规范的,与格式无关的资源,该资源可以返回303 See Other以及指向特定资源的链接.
| 归档时间: |
|
| 查看次数: |
4305 次 |
| 最近记录: |