[英]C# WebApi - Asp Net Core 2 - How can I put the csproj name into the route programmatically?
[英]how to configure route in webapi c#, so that any variable name can be used in place of {id}
我已經在WebApiConfig.cs
配置了基於約定的路由
config.Routes.MapHttpRoute(
name: "DataDictionaryApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id= RouteParameter.Optional }
);
對於此api端點,這工作正常。
[ActionName("DeleteDataDictionary")]
public void DeleteDataDictionary(int id)
{
//my code
}
但是我想對變量使用任何有意義的名稱,而不要使用id。
例如:
[ActionName("DeleteDataDictionary")]
public void DeleteDataDictionary(int dataDictionaryId)
{
//my code
}
[ActionName("DeleteMenu")]
public void DeleteMenu(int menuId)
{
//my code
}
問題是它僅在我將參數名稱指定為id時才有效。
請改用屬性路由。
[Route("api/delete-dictionary/{dataDictionaryId:int}")]
public void DeleteDataDictionary(int dataDictionaryId)
{
//my code
}
並發送如下請求,
/api/delete-dictionary/1
例:
[ActionName("DeleteDataDictionary")]
public void DeleteDataDictionary( [FromRoute("id")] int dataDictionaryId)
{
// your code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.