Quero que minha especificação JSON do OpenAPI use Camel Case em todos os parâmetros de string de consulta para minhas rotas. Até agora, a única maneira de fazer isso funcionar foi usando [FromQuery(Name = "camelCase")]
em todas as minhas propriedades. Existe uma maneira melhor de definir essa configuração em algum lugar para que eu não precise fazer essas alterações em todas as propriedades da minha API?
public class UsageQueryParams
{
[FromQuery(Name = "contractType")] public ContractType? ContractType { get; set; }
[FromQuery(Name = "limit")] public long? Limit { get; set; }
}
Supondo que você esteja usando a versão atual
Microsoft.AspNetCore.OpenApi
(desde o .NET 9), você pode aproveitar a funcionalidade de transformadores criada para a personalização de documentos OpenAPI . Por exemplo, uma abordagem rápida e prática pode ser:Com o seguinte ponto final:
resultando no json gerado:
Para Swashbuckle Swagger você pode fazer o mesmo com
IOperationFilter
a abordagem ( exemplo @github )