私はmvcプロジェクトを作成しました。プロジェクト内に複数のmvcコントローラがあり、正常に動作しています。私はウェブAPIコントローラCities
を、コントローラフォルダの下のプロジェクトに追加しました。mvcプロジェクトで作成されたWeb APIコントローラのアクションメソッドのURLを取得する方法
今、私はそれを呼び出すことができません、実際に私はこのコントローラのURLを細かくすることができません。私は私のプロジェクトに静的なWebApiConfig
クラスを追加して、それをApplication_Start
メソッドで呼び出します。
//application start.
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configure(WebApiConfig.Register);
}
//Register web api route
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
ウェブAPIコントローラ:
public class CitiesController : ApiController
{
CityEntities _entity = new CityEntities();
// GET: api/Cities
[HttpGet]
public IEnumerable<City> Get()
{
return _entity.Cities.ToList();
}
// GET: api/Cities/5
public City Get(int id)
{
return _entity.Cities.Where(x=>x.city_id==id).FirstOrDefault();
}
}
私はあるCities
コントローラを呼び出すしようたURL。
しかし、動作しませ
。
は、メソッド名は、 ')(ゲット'であると仮定すると、あなたがするべきではありません'/ Get'をURLに追加します。 – haim770
URLに「/ api/Cities」という動詞は付きません – Shyju
私にURLを教えてもらえますか? –