既にこのような質問がありますが、コンテキストは古い.NET MVCバージョンのために非常に異なっている可能性があります。「何か」という名前のコントローラに一致するタイプが見つかりませんMVC 5.2
ローカルホームで"/api/employee/5"
というルートを入力すると、エラーNo type was found that matches the controller named 'employee'
が表示されます。全体のルートは「127.0.0.1:8080/api/employee/5」です。 "127.0.0.1:8080"のホームルートは期待通りに機能します。
自分のコントローラにルートを設定しました。
EmployeeController.cs
[Route("api/employee")]
public class EmployeeApiController : Controller
{
[HttpGet, Route("api/employee/{id}")]
public ActionResult GetEmployee(long id)
{
return Content(
new Employee("Bobby", "Smedley",
"London", "Teheran",
EmployeeGender.M,
DepartmentCode.D_2157020,
"12345678901").ToString(),
"application/json");
}
}
私はWebApiConfig.cs
への変更を加えていないと、次のように見えます。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
誰もがその問題を知っていますか?