[RoutePrefix("subscriptions")]
public class SubscriptionsController : ApiController
{
private SubscriptionsService _subscriptionsService;
public SubscriptionsController()
{
_subscriptionsService = new SubscriptionsService();
}
[Route("{email}")]
[HttpGet]
public IHttpActionResult Get(string email)
{
但是當我嘗試WebApi2找不到路線
http://localhost:51561/api/subscriptions/myEmail
沒有HTTP資源發現,請求URI
'http://localhost:51561/api/subscriptions/myEmail' 匹配。
有什麼想法爲什麼?
我還設置一切WebApiCOnfig
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
你在哪裏設置/ api作爲路由的基礎?在全球範圍內?你的行爲路線意味着你爲什麼要導航到/ myEmail而不是/電子郵件?我會嘗試/訂閱/電子郵件和/ api /訂閱/電子郵件,看看是否其中任何一個工作。 –
你嘗試過'http:// localhost:51561/subscriptions/myEmail'嗎? –
必須以/ api開頭,因爲它是在WebApiConfig中設置的 – mbrc