MCV.Explorerライブラリを使用してドキュメントページも提供するWebAPIプロジェクトがあり、このコントローラーにルートを追加する方法を理解できません。
Apiコントローラーは、次のルートで期待どおりに機能しています。
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
APIアプリケーション内の「Docs」ディレクトリ内に次のようなドキュメントコントローラがあります。
[System.Web.Http.AllowAnonymous]
public class DocsController : Controller
{
[System.Web.Mvc.HttpGet]
public ActionResult Index()
{
var apiExplorer = GlobalConfiguration.Configuration.Services.GetApiExplorer();
return View(apiExplorer);
}
}
そして、私はそれにルーティングしようとしています:
routes.MapRoute(
name: "Docs",
url: "Docs/",
defaults: new { controller = "Docs", action = "Index" }
);
このサイトは、ディレクトリブラウジングが有効になっていないというエラーを表示します。Controllersディレクトリにコントローラークラスがないために何かが起こっていると思いますが、その点についてはよくわかりません。
また、Home ApiControllerには、現時点でいくつかのリンクを返す単純なメソッド(Index)があります。ApiControllerのhome\indexルートを処理するルートをどのように設定しますか?
[System.Web.Http.AllowAnonymous]
public class HomeController : ApiController
{
[HttpGet]
public Link[] Index()
{
return new Link[]
{
new SelfLink(Request.RequestUri.AbsoluteUri, "mood-api-root"),
new Link("auth", @"Account/Login/", "authenticate")
};
}
}
どんなポインタでも素晴らしいでしょう、ありがとう。