をMVCのAPIを拡張し、私はこの記事からの助けを借りて、私の既存のMVCプロジェクトにAspNet.WebAPIを追加しました:は、すべてのコントローラに
How to add Web API to an existing ASP.NET MVC (5) Web Application project?
をそれは基本的に以下のコントローラを追加します。
public class APIController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
...
そして、これは、App_Startで:
namespace WebApplication1
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// TODO: Add any additional configuration code.
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// WebAPI when dealing with JSON & JavaScript!
// Setup json serialization to serialize classes to camel (std. Json format)
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
}
}
}
これは動作しますが、 r mysite/api/API これを拡張して既存のコントローラ(mysite/api/CLIENTなど)の残りの部分と連携させるにはどうすればよいですか?
コードを見ると、うまくいくはずです。私は他のコントローラに "Get"機能を入れてみましたが、運はありませんでした。実際に私はなぜ/ APIが動作するのかわかりません - それはコントローラのファイル名を読み込んでいますか?
基本的には、次に行くべき場所についてのアドバイスを探しています。それぞれのコントローラにコードを入れたり、既存の「APIController」に多くの呼び出しを入れたりしません。