asp.net-mvc - 我可以对单个 RESTful Url 的 POST 和 GET 使用两种不同的模型吗?

标签 asp.net-mvc http rest asp.net-mvc-4 asp.net-web-api

我在其他地方寻找过这个问题的答案,但找不到。

我正在构建一个 MVC Web API,它将在一定程度上启动远程计算机上的进程。截至目前,对“blah.com/Process”的 POST 会将一些初始化数据保存到数据库中,并指示 Windows 服务开始对其进行操作。对“blah.com/Process/{Id}”的 GET 请求将检索流程的当前进度。

这两个 Controller 操作使用两种不同的模型。 POST 接受包含参数信息的模型,而 GET (因为它用于报告进度,而且我不在乎参数)不会返回该模型。这是否违反了 RESTful 设计?我应该使用两个不同的 URL,还是会违反 REST?据我了解,正在传输的数据应该代表进程的当前状态,在我看来,在这两种情况下都是如此。

编辑:感谢您的回复。我现在对我的方法感到更加安全。 :)

最佳答案

According to Wikipedia :

Conforming to the REST constraints is generally referred to as being "RESTful". If a service violates any of the required constraints, it cannot strictly be considered RESTful.

无需深入讨论复杂的细节,这些限制是:

  • 客户端-服务器
  • 无状态
  • 可缓存
  • 分层系统
  • 按需代码(可选)
  • 统一的界面

您的描述中的两种情况都不违反这些原则。做对 API 使用者最有意义的事情,使整体尽可能简单。

关于asp.net-mvc - 我可以对单个 RESTful Url 的 POST 和 GET 使用两种不同的模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14732343/

相关文章:

asp.net-mvc - 上一页链接出现在 MVC3 Razor 应用程序的地址栏中吗?

asp.net-mvc - 有和没有WWW的域的Google Analytics(分析)跟踪代码

http - 从 Report-To 标题获取弃用报告;正在生成报告但未发送

Java REST Spring 3.2.3 apache cxf 2.7.5 生成 XML 正常,但无法生成 JSON

html - CSS 在 Chrome 中不起作用,但在 Firefox 中起作用

javascript - 发送带有 JSON 正文的文件

javascript - JS : XMLHtttpRequest sending data not working

json - REST:资源表示的不同详细化级别的设计模式

java - Spring 数据休息 : how to send Multi-part file with request Body

asp.net-mvc - .NET MVC/Entity Framework 应用程序中的内存使用率过高