Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单次操作生成多个动作失败的单据_C#_Asp.net Web Api_Swagger - Fatal编程技术网

C# 单次操作生成多个动作失败的单据

C# 单次操作生成多个动作失败的单据,c#,asp.net-web-api,swagger,C#,Asp.net Web Api,Swagger,我想知道是否有人在使用Swagger/swashback 5.0.1记录单个操作时遇到了一个解决方法,该操作可以针对它执行多个操作。例如,以以下内容为例: api/products api/products?productType='cheese' 当试图生成文档时,我得到一个错误,提示这是不受支持的。然而,文档建议通过合并来解决问题 我不明白他们这是什么意思,也不知道该怎么做。有人能提供任何信息吗 我在他们的文档中找到的唯一解决方法是执行以下操作(使用第一项解决): 这并不理想,因为从API

我想知道是否有人在使用
Swagger
/
swashback 5.0.1
记录单个操作时遇到了一个解决方法,该操作可以针对它执行多个操作。例如,以以下内容为例:

api/products
api/products?productType='cheese'
当试图生成文档时,我得到一个错误,提示这是不受支持的。然而,文档建议通过合并来解决问题

我不明白他们这是什么意思,也不知道该怎么做。有人能提供任何信息吗

我在他们的文档中找到的唯一解决方法是执行以下操作(使用第一项解决):


这并不理想,因为从API的角度来看,我希望所有的变化都存在/可见。

Swashback文件中所述,关于此设置:

与WebApi不同,Swagger 2.0不包含查询字符串 映射URL时的组件


这不是一个Web API问题,Swagger 2.0规范实际上不支持使用查询参数。

在哪里可以找到如何使用Swagger执行多个操作?不,显然在git页面上,这是预期的行为。我已经放弃使用它,因为它有很多bug,而且您不得不调整生成的YAML。@Null这可能会有帮助,其他人也有类似的经历。我在Stackoverflow上发现了一篇类似的帖子,建议将重载方法命名为不同的名称,然后简单地使用route属性来定义路由。例如,如果我已经有了“Get()”,那么只需将第二个方法命名为“GetProduct()”。然后,我将创建一个route属性,并将路由设置为“api/”,并定义“HttpGet”动词。这就解决了我的问题。在API文档编制过程中不会调用swashbuckle.ResolveConflictingActions过滤器的情况是,参数名为“id”。它生成一个“api/{id}”路由
c.ResolveConflictingActions(x => x.First());