我正在实施一些api
。那个api发给我http get requests
。参数的所有名称都是大写的。
因此,查询字符串如下所示:
myURL?CALLID=1&STATE=START
我已将新的MapRoute添加到我的Global.asax
routes.MapRoute(
"VotBox",
"VotBox/Notify/{CALLID}{STATE}",
new { controller = "VotBox", action = "Notify", CALLID = -1, STATE = ""},
new { STATE = "STARTCALL" }
);
我的Controller
的参数名称大写。所以我的Action
看起来像这样:
public class VotBoxController : Controller
{
[HttpGet]
public void Notify(int CALLID, string STATE)
{
}
}
但是我希望我的参数在标准的CamelCase中命名。 我如何更改参数名称,以便操作如下所示:
[HttpGet]
public void Notify(int callId, string state)
{
}
答案 0 :(得分:3)
根据您的特定路线定义,它将适用于以下所有网址
/VotBox/Notify/4/STARTCALL
/VotBox/Notify/4/startcall
/VotBox/Notify?CALLID=3&STATE=anyString
/VotBox/Notify?callId=3&state=anyString
param名称的套管无关紧要。它适用于小写或大写。
答案 1 :(得分:1)
尝试将routes.MapRoute
更改为:
routes.MapRoute(
"VotBox",
"VotBox/Notify/{callId}{state}",
new { controller = "VotBox", action = "Notify", callId = -1, state= ""},
new { state= "STARTCALL" }
);