[英]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.