我考虑了几种方法:
将参数序列化为一个JSON字符串,并在API中拆分它。 http://forums.asp.net/t/1807316.aspx/1
将参数传递到查询字符串中。
What is best way to pass multiple query parameters to a restful api?在路由中定义参数: api/controller/date1/date2
使用POST方法,可以传递包含参数的对象。
研究ODATA,因为Web API(目前)支持它。我还没有做过太多关于这个方面的事情,所以不是很熟悉。
看起来适当的REST实践表明,在获取数据时,应该使用GET。然而,GET也应该是无副作用的(不产生副作用),我想知道我的具体实现是否违反了这一点,因为我在API系统中标记记录,因此我正在产生副作用。
它也引出了支持可变参数的问题。如果输入参数列表发生变化,如果这种情况经常发生,重新定义Choice 3的路由将很繁琐。如果参数在运行时定义,可能会发生什么......无论如何,对于我的具体实现,哪种选择(如果有)似乎最好?
WebApiConfig
文件中设置路由,但这确实更好。 - rhyek