我正在尝试创建一个带有两个字符串的方法,如果我提供了params,则会被调用。事实证明这对我来说很难。
这是我的控制器,带有测试方法:
public class TestController : ApiController
{
[HttpGet]
public string Get(string one, string two )
{
return "Testing";
}
}
我希望这个方法可以在以下网址上找到:
我还计划添加POST支持,但我认为这对WebAPI来说很有用,我必须有一个专门的模型类。
我的路线是:
.Routes.MapHttpRoute("Basic", "{controller}/{action}",
defaults: new { action = "Get" });
我知道我可以设置路线来指定'一个'和'两个'参数,但我的路线定义位于一个中心位置,我还没准备好污染我的全球路线以满足特殊情况一个控制器(然后用于其他一百种方法)。
在我看来,这是一个非常基本的场景 - 这里的模式是什么?
答案 0 :(得分:1)
您需要在参数上设置默认值以使其可选:
[HttpGet]
public string Get(string one = null, string two = null )
{
return "Testing";
}