【发布时间】:2017-10-21 15:31:27
【问题描述】:
我有 MVC 项目,我添加了一个 API 控制器。在这个 API 控制器中我已经在其中创建了方法。但是当我尝试使用“http://localhost:10133/api/BedfordBrownstoneApi/GetAgentId?username=dgsdgsdgsd&password=sdgsdgs”Url 从邮递员或本地主机调用这个 API 时,它会给出以下响应.
{
"Message": "No HTTP resource was found that matches the request URI 'http://localhost:10133/api/BedfordBrownstoneApi/GetAgentId?username=dgsdgsdgsd&password=sdgsdgs'.",
"MessageDetail": "No type was found that matches the controller named 'BedfordBrownstoneApi'."
}
我的 API 控制器如下所示。
public class BedfordBrownstoneApi : ApiController
{
// GET api/<controller>
public int GetAgentId(string username,string password)
{
DataContext db = new DataContext();
var data = db.Set<AgentLogin>().Where(a => a.UserName==username && a.Password==password).SingleOrDefault();
return data.AgentId;
}
}
}
我的 WebApiConfig 类如下所示。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}",
defaults: new { action = "GetAgentId" }
);
}
}
【问题讨论】:
-
试试这个 - 从控制器名称 localhost:10133/api/BedfordBrownstone/… 中删除“Api”
-
您的
Global.asax文件中有GlobalConfiguration.Configure(WebApiConfig.Register);调用吗? -
您没有在您的 api 控制器名称中提及 Controller,请查看 stackoverflow.com/questions/11384552/…
-
将您的控制器类名更改为“BedfordBrownstoneApiController”
-
@RK_Aus 我做了这个更改并使用“localhost:10133/api/BedfordBrownstoneApiController/…”网址调用但同样的问题
标签: c# asp.net-web-api