我正在尝试应用api管理版本集来查询具有两个版本的.netcore 3.1 Web api。我在版本集上选择了路径架构,该版本将版本标识符附加到URL。在这种情况下,/ v1:
事实是,在我的api中,我还使用路径架构对Web api上的终结点进行版本控制,因此,当apim构建url时,它将apim版本标识符附加到api版本路径上,这将导致重复,例如:
https://myapi.com/apiname/v1/v1/endpoint,其中v1 / endopoint是控制器的路径。
为了解决这个问题,我将Web api上的版本模式切换为header,并在apim上创建了一个策略,该策略将版本标头添加到请求中,因此路径中的唯一版本现在是apim中的版本。
我想知道这是否是正确的方法,或者是否有更好的解决方案。也许可以告诉apim从路径中忽略版本/ v1?
谢谢您的帮助!
APIMs域模型允许在API版本集级别上控制版本控制方案(路径前缀,标头名称/值,查询参数名称/值),因此您无需/v1.0
在API的每个操作上重复操作。本质上,如果您的API版本集配置为具有其路径前缀,/v1.0
则会将其附加到此版本集中包含的所有API路径中。这就是产生倍增的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句