在 Swagger Gen 中强制采用驼峰式作为参数

ado*_*ova 4 json.net swagger-codegen swashbuckle.aspnetcore .net-6.0

问题:

我的 Rest Endpoint 的路由参数看起来像这样

    [HttpDelete("{id}")]
    public async Task<IActionResult> DeleteDocument([FromRoute] DeleteDocumentRequest request)
Run Code Online (Sandbox Code Playgroud)

其中“DeleteDocumentRequest”有一个 gettor / settor

    public Guid Id {get; set;}
Run Code Online (Sandbox Code Playgroud)

但是,当 swagger gen 将其序列化到 OpenApi 3.0 中时,它会生成错误,因为类中属性“Id”的大小写与路由中属性“id”不匹配。

问题:

如何重写序列化器以将我的所有属性更改为驼峰命名法以确保一致性?

在.NET 6中使用Newtonsoft Json,我尝试使用CamelCasePropertyNamesContractResolver以及ResolvePropertyName和CreateProperties的覆盖,但控制器端点中的参数不是被命中的“属性”。

ado*_*ova 9

我能够通过将以下内容添加到 Swagger Gen 设置来解决这个问题。感谢 @jspcal 提供相关问题的链接。

services.AddSwaggerGen(c =>
            {
                c.DescribeAllParametersInCamelCase();
            });
Run Code Online (Sandbox Code Playgroud)