我正在设置一个 ASP.NET MVC 4 Web API 来接受来自第 3 方服务器的请求,但我根本不知道如何设置路由映射。假设第 3 方服务器期望获得以下响应:
http://[my_server]/authorize?user=[user name]&session=[session token]&item=[item]
http://[my_server]/release?user=[user name]&session=[session token]
或者,请求可以使用专用路径,即:
http://[my_server]/***api***/authorize?user=[user name]&session=[session token]&item=[item]
http://[my_server]/***api***/release?user=[user name]&session=[session token]
我希望能够支持这两种选择。
也应该按照更传统的/controller/id
形式实现其他请求,但我想重点关注上述内容(我什至不确定 Web API 是否适合这里)。
我编写了以下控制器:
public class MyController : ApiController
{
[HttpGet]
[ActionName("authorize")]
public string Authorize(string user, string session, string item)
{
...
// return "OK" or "DENY";
}
[HttpGet]
[ActionName("release")]
public string Release(string user, string session)
{
...
return "OK";
}
}
并尝试了我在 SO 和其他地方可以找到的所有内容WebAppConfig.Register
,但是当我在浏览器中尝试请求时,我不断收到 404 错误:
http://localhost:22332/api/authorize?user=ury&session=token&item=an_item
WebAppConfig.Register
我的问题是,为了满足上述请求(假设我的测试 URL 是正确的......),我必须做什么 - 特别是在控制器中和控制器中?