これは単純なものです。私は過去にこれをしてきました。しかし、私は何かが欠けているようです。WebApiルーティングは404(Not Found)応答を引き起こします
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
// Attribute routing.
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Global.asax.cs
protected void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configure(WebApiConfig.Register);
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
SomeController.cs
[RoutePrefix("api")]
public class SomeController: ApiController
{
[Route("some")]
[HttpGet]
private HttpResponseMessage GetSome(HttpRequestMessage request)
{
...
}
}
私が呼ぶとき今、:
:、私は次のよう404
を取得
{「メッセージ」:「いいえHTTPリソースが一致する見つかりませんでした要求 URI 『http://localhost:54699/api/some』。」、「MessageDetail」:「いいえ タイプが 『いくつかの』という名前のコントローラと一致する見つかりませんでした」 }
フォルダ構造:
良いキャッチ、私は気づいていませんでした – DrinkBird
'MessageDetail'とはあなたの例でそれを含めていないのは、' GetSomeController'からどのモデルがバインドされているかということです。最後のバージョン以降に変更されたデータを取得するための属性を追加します。必要なgetメソッドの本体からのものである場合は –
ありがとうございます。それはそれだった。時には、愚かなことに気づくために余分な目のペアが必要になることもあります。 –