WebApi路由名称转换为-分割
一、前言
适用于需要替换默认路由命名规则的情况。如控制器叫WebApi,会替换为web-api。
注意:仅适用于默认路由,如果使用了命名路由,将以自定义命名为准。
二、新建转换规则
/// <summary>
/// 路由格式转换
/// </summary>
public class RouteTokenTransformer : IOutboundParameterTransformer
{
/// <summary>
/// 将大驼峰转换为-分割
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public string? TransformOutbound(object? value)
{
return value == null ? null : Regex.Replace(value.ToString()!, "([a-z])([A-Z])", "$1-$2").ToLower();
}
}
三、使用
builder.Services.AddControllers(options =>
{
options.Conventions.Add(new RouteTokenTransformerConvention(new RouteTokenTransformer()));
})
本文作者:gaozejie
版权声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

浙公网安备 33010602011771号