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