我正在尝试使用 swagger 将我拥有的 API 导入到 Azure API 管理中,应该相当简单,但我总是遇到相同的错误:
一个或多个字段包含不正确的值:具有指定名称的 API
已经存在
我还没有在 Azure API 管理中进行任何设置,非常令人沮丧。
UPDATE
我正在使用 Swashbuckle(https://github.com/domaindrivendev/Swashbuckle https://github.com/domaindrivendev/Swashbuckle) 将 Swagger 添加到我的 WebAPI 项目中。
它正在生成 Swagger 2.0 文档。
这是 Swagger 文档的信息元素:
swagger: "2.0",
info: {
version: "v3",
title: "ShopZioAPIv3"
},
无论我将其更改为什么,我仍然会得到:
一个或多个字段包含不正确的值:具有指定名称的 API
已经存在
当您未指定唯一的 API 前缀时,会出现该错误消息。
我意识到您说过您在 API 中尚未设置任何内容,但是,如果您可以尝试在此字段中添加一些唯一值:
API 管理服务实例旨在托管多个 API,因此前缀用于通过路径的第一部分来区分 API。
URL 的子域部分用于标识服务。例如
http://{servicename}.azure-api.net{/api-prefix}/path/segment?param=value
Update
根据提供的Swagger,问题来自于具有相同OperationId的多个操作对象。这是无效的招摇。
通常,Swashbuckle 在生成具有重复 ID 的操作之前会失败。有一个 ResolveConflictingActions 方法允许您使用自己的代码来处理这些情况。在这种情况下,解析代码似乎没有做正确的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)