当前位置: 首页 > 知识库问答 >
问题:

需要将现有模型(非内联)添加到中的Swagger模式。网络核心API

郝乐心
2023-03-14

我正在为我的. Net core 6基于API生成Swagger文档。我有一些错误模型将由我的Gateway返回。这些在我的任何APIendpoint中都没有使用/返回。我想将这些模型添加到Swagger文档架构集合中。如果我遵循内联方式,我能够成功添加它们。有没有办法将现有模型包含在Swagger架构集合中?

我还想将网络钩子模型和示例包含到架构集合中,而无需通过内联选项。

谢谢你的时间。

共有1个答案

郜俊晤
2023-03-14

您可以执行以下操作将模型添加到架构集合中。

创建自定义文档过滤器

public class CustomDocumentFilter : IDocumentFilter
{
    public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
    {
        context.SchemaGenerator.GenerateSchema(typeof(GWErrorModel), context.SchemaRepository);
    }
}

将其添加到程序中.cs

   builder.Services.AddSwaggerGen(o =>
   {
      o.DocumentFilter<CustomDocumentFilter>();
   });

您将看到模型被添加到架构集合中。

希望有帮助。

 类似资料:
  • 我用的是Django 2。十、 我有一个用于验证请求的序列化程序。(不是ModelSerializer) 是对模型的引用。 我希望用户在字段中传递数据库id,但在验证后,got被转换为对象。 我试图重写方法,并将对象分配给字段,但它给出了错误

  • 本文向大家介绍core-data 向核心数据模型添加实体,包括了core-data 向核心数据模型添加实体的使用技巧和注意事项,需要的朋友参考一下 示例 首先,重要的是要了解核心数据模型是*.xcdatamodeld文件。您会注意到您没有实体。您将必须自己创建一个。在Xcode的底部,您会注意到一个按钮,上面写着“添加实体”,然后在导航器区域中将有一个新实体供您在项目上使用。

  • 创建新模型时,将自动创建一个数据库或模式(名为 Default),它是默认的数据库或模式。所有新添加的对象(表和视图)都属于默认数据库或模式。 你可以在浏览器的模型选项卡中查看以树结构表示的所有数据库或模式及其对象。 在浏览器的模型选项卡中数据库或模式的弹出式菜单选项包括: 选项 描述 新建数据库 / 新建模式 创建一个数据库或模式。 删除数据库 / 删除模式 从模型中删除已选择的数据库或模式及其

  • 创建新模型时,将自动创建一个数据库或模式(名为 Default),它是默认的数据库或模式。所有新添加的对象(表和视图)都属于默认数据库或模式。 你可以在浏览器的模型选项卡中查看以树结构表示的所有数据库或模式及其对象。 在浏览器的模型选项卡中数据库或模式的弹出式菜单选项包括: 选项 描述 新建数据库 / 新建模式 创建一个数据库或模式。 删除数据库 / 删除模式 从模型中删除已选择的数据库或模式及其

  • 网络模型 在某些情况下,你需要理解Subversion客户端如何与服务器通讯。Subversion网络层是抽象的,意味着Subversion客户端不管其操作的对象都会使用相同的行为方式,不管是使用HTTP协议(http://)与Apache HTTP服务器通讯或是使用自定义Subversion协议(svn://)与svnserve通讯,基本的网络模型是相同的。在本小节,我们要解释网络模型基础,包括

  • 问题内容: 我知道在linux内核中,我们可以在传输层添加我们自己的协议,类似于TCP,UDP等。 是否有任何钩子可以在网络层上注册类似于IP,ARP的新协议,可以将数据包传输到应用程序,以及如何在Linux内核中添加此协议? 问题答案: 要处理从用户空间到协议的通信,请使用内核套接字API注册协议。这使您可以从用户空间创建普通套接字。 看一下相关代码示例的蓝牙/ RFCOM套接字实现。 要注册协