簡體   English   中英

如何進行.NET Web API的自定義路由?

[英]How to make a custom route of .NET Web API?

好的,當我們第一次運行Web api項目時,通常在WebApiConfig中有

config.Routes.MapHttpRoute(
                "DefaultApi",
                "api/{controller}/{id}",
                new { id = RouteParameter.Optional }
            );

那如果我想使用{controller}以外的其他路線,該怎么辦呢?

config.Routes.MapHttpRoute(
                "DefaultApi",
                "api/queries/{query}/{id}",
                new { id = RouteParameter.Optional }
            );

我有我的自定義類來檢索這樣的名稱列表:

public class GetNameListQuery
    {
        [HttpGet]
        public IEnumerable<String> GetNames(){ 
              return new String[] { "John" , "Adams" };
        }
    }

這樣,當我運行URI“ mylocalhost / api / queries / GetNameList”時,我得到的名稱是“ John”和“ Adams”。 我是.NET的新手,不確定是否有任何方法可以執行此類操作。 感謝您的幫助。 謝謝 !!

在您的路由配置中:

routes.MapRoute(
      "DefaultApi2",
      "api/queries/{action}",
      new { controller = "Query" }
);

然后創建控制器查詢

public class QueryController : ApiController
{
    [HttpGet]
    public IEnumerable<String> GetNames()
    {
        return new String[] { "John", "Adams" };
    }
}

訪問此路由: http:// localhost / api / query / GetNameList

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM