【发布时间】:2022-08-22 23:30:43
【问题描述】:
我们正在将 .NET C# 类库从 .NET Framework 4.6.2 迁移到 .NET Standard 2.0。我们使用开放API客户端代码生成器,用于从一堆 API 定义文件生成代码。
针对 OpenAPI 2.0 文档使用 CodeGen 6.0.1。
代码生成器看起来不错,除了它为每个调用都包含名为 \"operationIndex\" 的参数,例如:
/// <summary>
/// Get a list of lists.
/// </summary>
/// <param name=\"listType\">The type of list to return.</param>
/// <param name=\"operationIndex\">Index associated with the operation.</param>
/// <returns>ApiCollectionOfList</returns>
public ApiCollectionOfList GetLists(string listType, int operationIndex = 0);
我已经搜索了 OpenAPI doco 和一般的网络,但我找不到任何对此的参考。 OpenAPI 定义文件不包含对此参数的任何引用。对我们来说,这只是我们想要消除的代码中的噪音。
现在有没有人对此有任何了解以及如何抑制它?
更新
PowerShell命令:
java -jar openapi-generator-cli-6.0.1.jar generate -i \"2022-08-17\\aaa_Definition Files\\List.swagger.json\" -g csharp-netcore -o \"2022-08-17\\List\" -c \"NetStd2\\List.config.json\"
CodeGen 配置(List.config.json):
{
\"packageName\": \"SKYLib.List\",
\"targetFramework\": \"netstandard2.0\",
\"modelPropertyNaming\": \"PascalCase\",
\"nonPublicApi\": \"false\",
\"useCollection\": \"false\",
\"validatable\": \"false\",
\"optionalAssemblyInfo\": \"false\",
\"optionalEmitDefaultValues\": \"false\",
\"optionalMethodArgument\": \"true\",
\"optionalProjectFile\": \"false\",
\"releaseNote\": null
}
示例定义文件
https://developer.sky.blackbaud.com/docs/services/list/export?DocumentFormat=Swagger
-
你能提供一个minimal reproducible example吗? Openapi 文件的示例和您用来运行它的命令会很有帮助。
-
定义文件非常大,但我会尝试提取一些最小的东西并发布更新。我也会发布命令行和配置。
-
好的,现在问题有 PS 命令、配置文件内容和示例定义文件文档的 URL。我希望这会有所帮助。如果您需要更多,请告诉我。
标签: c# openapi-generator .net-standard-2.0