5.35移除 URL 地址末尾的 /

创建于 2026 年 8 月 17 日约 1 分钟读完

部分服务端对路径末尾的 / 敏感(如 /api//api),可能造成 301 重定向或路由匹配失败。开启该功能后,框架会在构造最终请求地址时自动去除路径末尾的 /

HTTP 声明式请求通过 RemoveTrailingSlashAttribute 特性来移除 URL 地址末尾的 /。相应的 HTTP 声明式提取器实现为 RemoveTrailingSlashDeclarativeExtractor 类型,该类型负责解析 RemoveTrailingSlashAttribute 特性并构建 HttpRequestBuilder 实例所需的移除 URL 地址末尾的 / 配置。

cs
// 在接口定义上应用,影响所有方法[RemoveTrailingSlash]public interface IHttpService : IHttpDeclarative{    // 在方法上应用    [RemoveTrailingSlash]    [Get("https://furion.net/")]    Task<string> GetStringAsync();    [RemoveTrailingSlash(false)]   // 禁用该功能    [Get("https://furion.net/")]    Task<string> GetStringAsync();}

请求地址将变为 https://furion.net

RemoveTrailingSlashAttribute 包含以下构造函数和属性:

  • 构造函数

    • new():作用于方法或接口,移除 URL 地址末尾的 /
    • new(enabled):作用于方法或接口,设置是否移除 URL 地址末尾的 /
  • 属性

    • Enabled:是否启用(bool 类型),默认值为 true(启用)。