簡體   English   中英

Web API調用錯誤ASP.Net MVC

[英]Web API calling Error ASP.Net MVC

我正在開發Web API,但無法實現。 錯誤顯示404未找到。

Web API

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

Web API路由

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM