C# web.api无法测试操作
我创建了一个Web.API、MVC应用程序,但在尝试测试时遇到了一些问题。我得到这个错误: {“Message”:“未找到与请求URI“”匹配的HTTP资源”。,“MessageDetail”:“未找到与名为“order”的控制器匹配的类型”。” 订单管理员C# web.api无法测试操作,c#,asp.net-web-api,asp.net-mvc-routing,C#,Asp.net Web Api,Asp.net Mvc Routing,我创建了一个Web.API、MVC应用程序,但在尝试测试时遇到了一些问题。我得到这个错误: {“Message”:“未找到与请求URI“”匹配的HTTP资源”。,“MessageDetail”:“未找到与名为“order”的控制器匹配的类型”。” 订单管理员 [System.Web.Http.HttpGet] public string SayWhat(string quoteName) { return "Hello World " + quoteName; } WebApiConf
[System.Web.Http.HttpGet]
public string SayWhat(string quoteName)
{
return "Hello World " + quoteName;
}
WebApiConfig
config.Routes.MapHttpRoute(
name: "DefaultPostApi",
routeTemplate: "api/{controller}/{action}/{quote}"
);
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
尝试将属性“ActionName”添加到函数中
[System.Web.Http.HttpGet()]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return Convert.ToString("Hello World ") + quoteName;
}
尝试将属性“ActionName”添加到函数中
[System.Web.Http.HttpGet()]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return Convert.ToString("Hello World ") + quoteName;
}
尝试将属性“ActionName”添加到函数中
[System.Web.Http.HttpGet()]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return Convert.ToString("Hello World ") + quoteName;
}
尝试将属性“ActionName”添加到函数中
[System.Web.Http.HttpGet()]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return Convert.ToString("Hello World ") + quoteName;
}
错误消息表明它没有看到订单控制器 “未找到与名为'order'的控制器匹配的类型。” 假设您指出确实有一个
OrderController
,那么有一种可能是控制器的类型不正确,因为框架会查找从ApiController
继承的类型
确保控制器的类型正确
public class OrderController : ApiController {
//GET api/Order/saywhat/33
[System.Web.Http.HttpGet]
public string SayWhat(string quote) {
return "Hello World " + quote;
}
}
错误消息表明它没有看到订单控制器 “未找到与名为'order'的控制器匹配的类型。” 假设您指出确实有一个
OrderController
,那么有一种可能是控制器的类型不正确,因为框架会查找从ApiController
继承的类型
确保控制器的类型正确
public class OrderController : ApiController {
//GET api/Order/saywhat/33
[System.Web.Http.HttpGet]
public string SayWhat(string quote) {
return "Hello World " + quote;
}
}
错误消息表明它没有看到订单控制器 “未找到与名为'order'的控制器匹配的类型。” 假设您指出确实有一个
OrderController
,那么有一种可能是控制器的类型不正确,因为框架会查找从ApiController
继承的类型
确保控制器的类型正确
public class OrderController : ApiController {
//GET api/Order/saywhat/33
[System.Web.Http.HttpGet]
public string SayWhat(string quote) {
return "Hello World " + quote;
}
}
错误消息表明它没有看到订单控制器 “未找到与名为'order'的控制器匹配的类型。” 假设您指出确实有一个
OrderController
,那么有一种可能是控制器的类型不正确,因为框架会查找从ApiController
继承的类型
确保控制器的类型正确
public class OrderController : ApiController {
//GET api/Order/saywhat/33
[System.Web.Http.HttpGet]
public string SayWhat(string quote) {
return "Hello World " + quote;
}
}
在WebApiConfig.cs中使用以下代码
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 }
);
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{quoteName}",
defaults: new { quoteName = RouteParameter.Optional }
);
}
在控制器中:
[HttpGet]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return "Hello World " + quoteName;
}
在WebApiConfig.cs中使用以下代码
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 }
);
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{quoteName}",
defaults: new { quoteName = RouteParameter.Optional }
);
}
在控制器中:
[HttpGet]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return "Hello World " + quoteName;
}
在WebApiConfig.cs中使用以下代码
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 }
);
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{quoteName}",
defaults: new { quoteName = RouteParameter.Optional }
);
}
在控制器中:
[HttpGet]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return "Hello World " + quoteName;
}
在WebApiConfig.cs中使用以下代码
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 }
);
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{quoteName}",
defaults: new { quoteName = RouteParameter.Optional }
);
}
在控制器中:
[HttpGet]
[ActionName("SayWhat")]
public string SayWhat(string quoteName)
{
return "Hello World " + quoteName;
}
您的控制器类是公共的吗?是的,控制器是公共的,配置和控制器看起来很好。你应该展示更多的代码。你确定你的应用程序正在该端口上运行吗?您有其他APi或MVC路由吗?您的控制器类是公共的吗?是的,控制器是公共的配置和控制器看起来很好。你应该展示更多的代码。你确定你的应用程序正在该端口上运行吗?您有其他APi或MVC路由吗?您的控制器类是公共的吗?是的,控制器是公共的配置和控制器看起来很好。你应该展示更多的代码。你确定你的应用程序正在该端口上运行吗?您有其他APi或MVC路由吗?您的控制器类是公共的吗?是的,控制器是公共的配置和控制器看起来很好。你应该展示更多的代码。你确定你的应用程序正在该端口上运行吗?你还有其他APi或MVC的路线吗?我已经用这条路线中的所有信息更新了我的WebApiConfig。我还尝试了actionname属性,但没有帮助。仍然是相同的错误..好的,我发现解决方案更改如下:routeTemplate:=“api/{controller}/{action}/{quote}”使用此routeTemplate:=“api/{controller}/{action}/{quotename}”我已经用这一个中的所有内容更新了我的WebApiConfig。我还尝试了actionname属性,但没有帮助。仍然是相同的错误..好的,我发现解决方案更改如下:routeTemplate:=“api/{controller}/{action}/{quote}”使用此routeTemplate:=“api/{controller}/{action}/{quotename}”我已经用这一个中的所有内容更新了我的WebApiConfig。我还尝试了actionname属性,但没有帮助。仍然是相同的错误..好的,我发现解决方案更改如下:routeTemplate:=“api/{controller}/{action}/{quote}”使用此routeTemplate:=“api/{controller}/{action}/{quotename}”我已经用这一个中的所有内容更新了我的WebApiConfig。我还尝试了actionname属性,但没有帮助。仍然是相同的错误..好的,我发现解决方案更改如下:routeTemplate:=“api/{controller}/{action}/{quote}”与此routeTemplate:=“api/{controller}/{action}/{quotename}”