我裝飾了我的API控制器,如:WebApi2 RoutePrefix和端點路由=未找到
[RoutePrefix("api/admin/notification")] public class LanguageController : BaseController
裏面,我有這樣的GET端點:
[HttpGet]
[Route("app/{productGuid}")]
public async Task<IHttpActionResult> GetAllNotificationsForApp([FromUri]string productGuid)
現在,我假設正確的方式訪問此資源是:
GET http://[api-url]/api/admin/notification/app/someguid
然而,這會產生一個404
我曾嘗試:
的拆卸,[FromUri]
-Passing productGuid作爲查詢字符串的一部分,即.../app?productGuid=something
(相對於/app/{productGuid}
)
是,我正在使用config.MapHttpAttributeRoutes();
,並且我已驗證其他也使用RoutePrefix工作的api控制器。
我錯過了什麼嗎?
'[FromUri]'用於強制網絡API來讀取從URI的複雜類型。刪除它應該已經工作。您還可以考慮將參數從'string'更改爲'Guid',並對路徑中的佔位符應用適當的約束。即:'[Route(「app/{productGuid:guid}」)]' – Nkosi