Asp.net web api 如何在使用OWIN为WebApi 2生成的虚张声势文档中包含类和属性描述?
在你想到它之前,是不一样的 我认为这应该是不言自明的。我想在Swagger文档中包含类描述。我的Asp.net web api 如何在使用OWIN为WebApi 2生成的虚张声势文档中包含类和属性描述?,asp.net-web-api,owin,swagger,swashbuckle,Asp.net Web Api,Owin,Swagger,Swashbuckle,在你想到它之前,是不一样的 我认为这应该是不言自明的。我想在Swagger文档中包含类描述。我的Swaggerconfig如下所示: config.EnableSwagger(c=> { c、 单一Api版本(“v1”,“我的Api名称”); c、 操作过滤器(); c、 includexmlcoments(getxmlcomentspath()); }).EnableSwaggerUi(c=>{}); 而MyAwesomeController看起来是这样的: // ///控制器说明(包含在S
Swagger
config如下所示:
config.EnableSwagger(c=>
{
c、 单一Api版本(“v1”,“我的Api名称”);
c、 操作过滤器();
c、 includexmlcoments(getxmlcomentspath());
}).EnableSwaggerUi(c=>{});
而MyAwesomeController
看起来是这样的:
//
///控制器说明(包含在Swashback中)
///
公共类MyAwesomeController:ApicController
{
///
///方法说明(包含在Swashback中)
///
public IHttpActionResult Get()
{
返回Ok(“你好……来自另一边”);
}
公共IHttpActionResult帖子([FromBody]MyAwesomeModel模型)
{
返回Ok(“你好……来自另一边”);
}
}
我的MyAwesomeModel
如下所示:
//
///**我希望将其包含在参数的夸张描述中**
///
公共类Myawesome模型
{
///
///**我希望将其包含在参数的夸张描述中**
///
公共字符串MyProperty{get;set;}
}
不雇用高级飞碟机,这可能吗?如果您已填写以下声明
c.IncludeXmlComments(GetXmlCommentsPath());
您能检查xml注释路径方法是否返回项目xml文档文件所在的xml文件路径吗?Hm。。。所以如果有人碰到这个 基本上,我发现了一种方法可以做到这一点,我意识到为什么它不是默认完成的。不确定这是否是最好的方法,但现在开始了 在我的解决方案中,POCO位于一个独立于实际API的项目中,因此不包括
MyAwesomeModel
的注释描述,因为没有为类和属性生成XML节点。因此,在poco所在的单独项目中,我修改了属性以生成XML
生成后事件命令行
李>
copy“$(SolutionDir)MyAwesomeProjectWithPocos\bin\MyAwesomeProjectWithPocos.xml”“$(ProjectDir)\bin\MyAwesomeProjectWithPocos.xml”
SwaggerConfig
以包括此XMLconfig.EnableSwagger(c=>
{
c、 单一Api版本(“v1”,“我的Api名称”);
c、 操作过滤器
当然,不需要复制XML文件,只需在步骤#3GetXmlCommentsPathForModels();
中指向正确的位置,但这是我的选择。XML文件存在,并且生成的默认注释(控制器和方法文档)没有问题,但这不是我想要的-我还想包括用作方法输入参数的类的类定义中的注释。我不知道如何解释它。最好在他们的Github网站上发布您的请求/问题-对我来说,它不会在我的模型上加载属性的
,除非它是一个类似int
,bool
,string
,等等。您遇到过这个问题吗?老实说,不记得了,这是在2016年。
config.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "My Api Name");
c.OperationFilter<AddAuthorizationHeaderParameterOperationFilter>();
c.IncludeXmlComments(GetXmlCommentsPath());
c.IncludeXmlComments(GetXmlCommentsPathForModels());
}).EnableSwaggerUi(c => { });