public class MyTokenTransformer : IRouteTokenTransformer { public string TransformOutbound(object value) { // 实现自定义解析逻辑 return value.ToString(); } }
services.AddMvc(options => { options.UseCentralRoutePrefix(new RouteAttribute("api/v{version:apiVersion}"));
// 配置自定义解析器
options.Conventions.Add(new RouteTokenTransformerConvention(
new MyTokenTransformer(),
typeof(MyCustomParameter)));
});
[HttpGet("{id:int:min(1)}-{name}", Name = "GetProduct")] public IActionResult Get(int id, [ModelBinder(BinderType = typeof(MyCustomBinder))] string name) { // ... }
通过以上步骤,就可以成功使用自定义路由令牌解析器实现更灵活的路由匹配功能。
上一篇:ASP.NETCoreAPI:身份验证弹出窗口在SwaggerUI中不显示
下一篇:ASP.NETCoreasp-fallbacktaghelper配合伪选择器(和bootstrap-icons)的使用。