[英]Web API calling Error ASP.Net MVC
我正在开发Web API,但无法实现。 错误显示404未找到。
using Atea.Azure.ApiMangement.Business;
using System.Web.Http;
namespace Azure_API_Delegation_Portal.Controllers
{
[RoutePrefix("api/apim")]
public class ApimController : ApiController
{
private readonly ISubscriptionService _subscriptionService;
[HttpGet]
[Route("{string:productId}")]
public bool GetProductSubscribe(string productId)
{
return _subscriptionService.IsSubscribed(productId);
}
}
}
我如何调用API https://localhost:44300/api/apim/ldkjfk232
using System.Web.Http;
namespace Azure_API_Delegation_Portal
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
修正您的路线模板。 默认情况下它是字符串,因此不需要字符串约束
//GET api/apim/ldkjfk232"
[HttpGet]
[Route("{productId}")]
public bool GetProductSubscribe(string productId)
还要注意,此示例将约束放在占位符名称之后
[Route("{paramaterName:int}")]
在此处阅读有关属性路由的更多信息: ASP.NET Web API 2中的属性路由
它将向您展示如何正确配置Web API。
我在“ Global.asax”文件的Application_Start()函数中缺少此代码行。
GlobalConfiguration.Configure(WebApiConfig.Register);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.