我正在尝试创建一个方法,该方法采用两个字符串并在我提供参数时被调用。事实证明这对我来说很难。
这是我的控制器与测试方法:
public class TestController : ApiController
{
[HttpGet]
public string Get(string one, string two )
{
return "Testing";
}
}
我希望该方法可在以下网址中使用:
- 网址/测试/
- 网址/测试/
- url/test/?one=1&two=2
- url/test/?one=1
- url/test/?two=2
- 网址/测试/获取
- url/test/get?one=1&two=2
- url/test/get?one=1
- url/test/get?two=2
我还计划添加 POST 支持,但我认为这对 WebAPI 来说很重要,我必须有一个专用的模型类。
我的路线是:
.Routes.MapHttpRoute("Basic", "{controller}/{action}",
defaults: new { action = "Get" });
我知道我可以设置路由来指定“一”和“二”参数,但我的路由定义位于中心位置,我还没有准备好污染我的全局路由以适应控制器中的特殊情况(然后用其他一百种方法来做)。
在我看来,这是一个非常基本的场景——这里要遵循的模式是什么?