我有一个简单的Api功能:
// POST: api/Cultivation/Sow/1/5
[HttpGet("Sow/{grain}/{id}")]
public IActionResult Sow(Grain grain, int id) { }
我的枚举看起来像这样:
public enum Grain
{
None,
Rice,
Corn,
Oats
}
我的问题是,是否可以从Route获得Grain
或任何枚举?是的时候怎么办?
如果否,如何通过int优雅地“查找”枚举,而不使用if语句等?因为如果myWebapi无法接受enums
,则很容易通过简单的int
答案 0 :(得分:1)
public enum EnumReviewStatus
{
Overdue = 4,
}
public IActionResult Index(EnumReviewStatus? statusFilter = null)
url Index?statusFilter =过期有效
答案 1 :(得分:1)
希望这会有所帮助。
您可以按显示的那样添加网址
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller=Home}/{action=Index}/{grain=somedefault}/{id?}");
});
大括号({...})中的标记定义的路由参数为 如果路由匹配,则绑定。您可以定义多个路线 路径段中的参数,但必须用文字分隔 值。例如,{controller = Home} {action = Index}不是有效的 路由,因为{controller}和 {行动}。这些路由参数必须具有名称,并且可能具有 指定了其他属性。