【发布时间】:2013-01-21 20:15:57
【问题描述】:
我在 SO 上的其他地方寻找过这个问题的答案,但找不到。
我正在构建一个 MVC Web API,它将在一定程度上启动远程机器上的进程。截至目前,“blah.com/Process”的 POST 会将一些初始化数据保存到数据库并指示 Windows 服务开始对其进行操作。对“blah.com/Process/{Id}”的 GET 请求将检索进程的当前进度。
这两个控制器动作使用两种不同的模型。 POST 接受一个包含参数信息的模型,GET(因为它用于报告进度,我不太关心参数)不返回。这是否违反了 RESTful 设计?我应该使用两个不同的 URL,还是 那 会违反 REST?据我了解,正在传输的数据应该代表流程的当前状态,在我看来,这两种情况都是如此。
编辑:感谢您的回复。我现在对自己的方法感到更加安全。 :)
【问题讨论】:
-
如果GET URL返回进程的进度,为什么不创建一个类似
http://blah.com/Process/{id}/Progress的URL呢?
标签: asp.net-mvc http rest asp.net-mvc-4 asp.net-web-api