我正在使用.Net MVC4 Web API来(希望)实现RESTful api。我需要向系统传递一些参数,并让它执行一些操作,然后返回对象列表作为结果。具体来说,我传递了两个日期并返回了两个日期之间的记录。我还跟踪返回的记录,以便后续调用不会在系统中得到重新处理。
我考虑了几种方法:
将参数序列化为一个JSON字符串,然后在API中将其分离。 http://forums.asp.net/t/1807316.aspx/1
在查询字符串中传递参数。
将多个查询参数传递给静态API的最佳方法是什么?定义路径中的参数:api / controller / date1 / date2
使用POST可以使我通过参数传递对象。
由于Web API(当前)支持ODATA,因此正在研究ODATA。我还没有做很多事情,所以我不太熟悉。
似乎正确的REST做法表明何时提取数据,应该使用GET。但是,GET也应该是无效的(不产生副作用),并且我想知道我的具体实现是否违反了该规定,因为我在API系统中标记了记录,因此产生了副作用。
这也使我想到了支持可变参数的问题。如果输入参数列表发生更改,那么如果必须经常为选择3重新定义您的路线,那将很麻烦。如果在运行时定义参数会发生什么...
无论如何,对于我的特定实现,哪种选择(如果有)似乎最好?