首页 > 解决方案 > 如何从 Swagger 模式中过滤掉数据类型?

问题描述

我正在使用 Swasbuckle 5.6。

我的控制器有一个从第三方库继承的方法,该方法在公司范围内使用。

    [ProducesResponseType(typeof(HealthCheckActionResult), (int)HttpStatusCode.OK)]
    public HealthCheckActionResult Get()
    {
        return new HealthCheckActionResult(healthCheckService, healthCheckOptions);
    }

只要我将该方法添加到我的控制器,我就会看到 Swagger UI 如何使用大量 CLR 内部类型来膨胀其架构定义:

架构臃肿

当用于快速 API 测试时,这个巨大的模式会导致 UI 经常冻结。

我尝试了https://stackoverflow.com/a/61313313/217823的答案,但它不起作用,因为 SchemaRepository 键不包含那些不需要的数据类型的完整命名空间名称。

假设我无法控制HealthCheckActionResult该类(它来自第三方库),那么摆脱它给 Swagger 模式带来的所有臃肿的正确方法是什么?

标签: asp.net-coreswaggerswashbuckle

解决方案


推荐阅读