far*_*121 1 swagger autorest nswag
我正在尝试使用 NSwag 和 Autorest 为 api 创建代码包装器。
以前我使用 Swashbuckle 来生成 swagger 文件。它生成了格式为 operationIds 的 swagger 文件actionMethod。这导致 Autorest 生成一个深度为 1 的代码客户端。所有的动作都在顶级班级。
由于各种原因,我需要将 swagger 生成更改为 NSwag。这将生成格式为 operationIds controller_actionMethod。这导致 AutoRest 创建一个复合类,该类公开带有每个控制器操作的单独类。
怎么可能
注意:我知道我可以手动更改 swagger.json,但我希望保持一致的自动化流程来生成代码客户端。
似乎没有任何现成的设置,但您可以挂钩到 NSwag 的生成过程
运算处理器
class FlattenOperationsProcessor: IOperationProcessor
{
public async Task<bool> ProcessAsync(OperationProcessorContext context)
{
context.OperationDescription.Operation.OperationId = $"{context.MethodInfo.Name}";
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在Startup.cs中添加
document.OperationProcessors.Add(new FlattenOperationsProcessor());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
654 次 |
| 最近记录: |