我正在将我的一些服务转换为Web API2,并且我有一些函数需要2或3个参数。这些路由属性是如何构建的?
当我在javascript中从旧服务调用该函数时
data: { "symboltype": symboltype, "symbol": symb, "requestDate": dDate}
我尝试了以下路由属性以及其他变体,这些变量无法正常工作
<HttpGet()> _
<Route("getsinglerangeprojection/{symboltype:int,symbol,requestdate}")> _
Public Function GetSingleRangeProjection(ByVal symboltype As Integer,
ByVal symbol As String,
ByVal requestDate As String) As ProjectedRange
...code here
End Function
答案 0 :(得分:2)
答案是它们都用斜杠分隔,如下所示
<HttpGet()> _
<Route("getsinglerangeprojection/symboltype/{symboltype:int}/symbol/{symbol}/requestdate/{requestDate:datetime}")> _
Public Function GetSingleRangeProjection(ByVal symboltype As Integer,
ByVal symbol As String,
ByVal requestDate As String) As ProjectedRange
...code here
End Function
答案 1 :(得分:0)
您应该创建一个模型来代表您的数据
public class MyData
{
public string symboltype { get; set; }
public string symbol { get; set; }
public DateTime requestData { get; set; }
}
并更改您的方法以使用模型或 JObject 作为参数。
最后,将整个json对象发布为字符串
数据:JSON.stringify({&#34; symboltype&#34 ;: symboltype,&#34; symbol&#34;:symb,&#34; requestDate&#34;:dDate});
希望得到这个帮助。