mvc 프로젝트를 만들었습니다. 프로젝트에 여러 개의 mvc 컨트롤러가 있는데 제대로 작동합니다. 나는 컨트롤러 API 아래의 프로젝트에서 웹 API 컨트롤러 Cities
을 추가했다.mvc 프로젝트에서 생성 된 웹 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.
그러나 작동하지
. 당신이 그 행동에 대한 라우팅 속성을 사용하지 않는 경우
는 메소드 이름이') (가져 오기 '입니다 가정 할 때, 당신은 가정하지 않습니다 URL에'/ Get'을 추가하십시오. – haim770
url에 동사 '/ api/Cities'가 없습니다. – Shyju
URL을 알려주시겠습니까? –