首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将swagger页面映射到APIM

将swagger页面映射到APIM
EN

Stack Overflow用户
提问于 2020-01-17 00:03:14
回答 1查看 501关注 0票数 2

我有一个现有的网站,我想使用APIM,我已经成功地将我的API映射到APIM。然而,我有一个大摇大摆的页面,我只是想在同一个域可用作为APIM。我该怎么做呢?swagger页面是:

https://mysite.azurewebsites.net/api/swagger/index.html

我希望这看起来像这样

https://myapidomain.com/swagger

我在APIM中的APIM是这样的,所以我希望swagger与相同的域匹配

https://myapidomain.com/api/myfirstapi

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 08:39:57

这可以通过一些警告来完成,这取决于您的web页面的复杂程度:

使用URL后缀"swagger"

  • Optionally创建一个API从API中取消选中"Require“,使其使用URL模板"/”和GET

  • Add policies to operation inbound: anonymous

  • Create

  • Add policies to operation inbound:<set-backend-service base-url="https://mysite.azurewebsites.net" /> <rewrite-uri template="/api/swagger/index.html" />

  • Test

  • Add policies to operation inbound:

这将会照顾到页面本身。如果页面使用cookie或通过相对URI引用外部脚本/图像,则会出现问题。Cookie将是一个问题,因为它们的域设置为"mysite.azurewebsites.net",所以您需要在策略中注意这一点。

具有相对URL的资源是有问题的,因为浏览器将使用这些URL向您的APIM服务发出额外的请求,因此您需要创建额外的操作来涵盖这些请求。在操作模板中使用*可能有助于覆盖多个资源。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59773562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档