在骆驼盒中制作摇摇欲坠的动作URL

发布于 2025-02-13 19:19:57 字数 763 浏览 1 评论 0原文

如果我的操作定义为(注意 - 所有名称都是假设的)

[HttpGet("api/[controller]/[action]")]
public string LogMeIn(...)

Swagger将生成URL为.../api/auth/logmein

“在此处输入图像说明”

我添加了选项,

services.AddRouting(opt => opt.LowercaseUrls = true)

这使我在Swagger ... ... /api/auth/logmein

但我需要在camelcase - > .../api/auth/logmein

我尝试查看Swagger Options,App选项,但没有运气。我可以在这里做什么?顺便说一句,搜索了互联网。他们通常谈论参数/模型。这是Swagger UI URL。谢谢

If I have an action defined as (note - all names are hypothetical)

[HttpGet("api/[controller]/[action]")]
public string LogMeIn(...)

Swagger will generate URL as .../api/Auth/LogMeIn

enter image description here

I've added option

services.AddRouting(opt => opt.LowercaseUrls = true)

This got me to this point in the swagger .../api/auth/logmein

But I need to be at camelCase --> .../api/auth/logMeIn

I've tried to look through swagger options, app options, but no luck. What can I do here? BTW, searched the internet. Mostly they talk about parameters/models. This is swagger UI URL. Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

思念满溢 2025-02-20 19:19:57

我不知道是否有内置的东西可用,但是您可以编写这样的简单文档过滤器。

    public class UrlRenameDocumentFilter : IDocumentFilter
    {
        public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
        {
            OpenApiPaths keyValuePairs = new OpenApiPaths();
            foreach(var path in swaggerDoc.Paths)
            {
                var value = path.Value;

                // here you have to put logic to convert name to camelCase
                string newkey = ConvertToCamelCase(path.Key);

                keyValuePairs.Add(newkey, value);
            }
            swaggerDoc.Paths = keyValuePairs;
        }
    }

在program.cs中

builder.Services.AddSwaggerGen(o =>
{
    o.DocumentFilter<UrlRenameDocumentFilter>();
});

i don't know if something inbuilt is available or not but you can write a simple document filter like this.

    public class UrlRenameDocumentFilter : IDocumentFilter
    {
        public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
        {
            OpenApiPaths keyValuePairs = new OpenApiPaths();
            foreach(var path in swaggerDoc.Paths)
            {
                var value = path.Value;

                // here you have to put logic to convert name to camelCase
                string newkey = ConvertToCamelCase(path.Key);

                keyValuePairs.Add(newkey, value);
            }
            swaggerDoc.Paths = keyValuePairs;
        }
    }

in program.cs

builder.Services.AddSwaggerGen(o =>
{
    o.DocumentFilter<UrlRenameDocumentFilter>();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文