我正在实现发布文件的异步REST API,然后将其添加到队列中以进行进一步处理。我的问题是在这种命名资源的情况下最好的做法。
资源#1 POST {type}是动态的文件。
POST /files/{type}
将数据发布到此资源。它排队,用户将收到唯一的队列ID。如何命名文件队列资源?
资源#2。 GET文件队列
选项1. GET /files/queues/{QueueID}
OR
选项2. GET /files/{type}/queues/{QueueID}
哪一个更有意义?用户可以上传不同{type}的文件。
或者我应该使用完全不同的获取队列项目的资源,如:
GET /queues
AND
/queues/{QueueID}
感谢您的提示。
答案 0 :(得分:1)
这取决于您的需求。 (或客户的需求)
我会使用“/ queues / {QueueID}”选项,因为queueId本身(没有类型)标识文件,因此不需要包含它。 另外,我甚至会从POST方法中省略{type}变量,因为您只需在HTTP标头中发送该信息即可。 (内容类型)
当您必须显示按类型分组的文件时,“files / {type}”方法更有用。没有这种需要,就不需要进一步使资源标识符复杂化。
(注意:如果“queue”和“file”项相同,那么你可以使用GET / files / {QueueId})