当前位置: 首页 > 知识库问答 >
问题:

将OpenAPI部署到本地主机

哈宪
2023-03-14

我的组织有很多针对不同项目的API。我需要一个OpenAPI实现,它允许我为我们所有的产品创建一个包含所有这些API(更像是一个存储库)的独立门户。

有支持这一点的OpenAPI吗?

另一种选择是:能够将多个实例合并到单个OpenAPI实例。

共有2个答案

国胤
2023-03-14

为此,一个很好的解决方案是按照指示使用SwaggerHub。但是,这个工具对私有API不是免费的。我也有同样的需求,所以,为了帮助社区进行OpenAPI设计,我编写了一个名为“OpenAPI开发工具”的新工具(在github中)。

使用OpenAPI开发工具,我们可以为Swagger UI/Redoc部署多个文档(用于多个使用上下文),并具有热重新加载功能,例如SwaggerHub。

它真的很容易使用。

每个API都在配置文件中指示:

{
    "folder": "./specs",  // Root folder where the specifications are stored
    "specs": [            // Array of specifications (several specifications can be exposed)
        { // First specification file
            "file": "/petstore.yaml", // Relative path of the specification main file (from "folder" parameter). It has to be an OpenAPI file in YAML or JSON.
            "context": {    // Object used for template generation (see Template usage chapter below)
              ...
            }
        },
        { // Second specification file
        "file": "/petstore2.yaml"
            ...
        }
    ]
}

然后,只需点击npx openapi开发工具serve,就可以为整个API提供服务http://localhost:3000et voilá:)

琴琪
2023-03-14

有几种方法可以实现API目录。

Swagger UI 3.0.19可以使用url参数显示多个API定义

// index.html

const ui = SwaggerUIBundle({
  dom_id: '#swagger-ui',
  urls: [
   {name: "petstore",  url: "http://petstore.swagger.io/v2/swagger.json"},
   {name: "instagram", url: "https://api.apis.guru/v2/specs/instagram.com/1.0.0/swagger.yaml"}
  ],
  "urls.primaryName": "petstore",  // default spec
  ...

结果:

由于Swagger UI是开源的,您可以自定义其布局和外观

SwaggerHub为团队提供API目录托管

披露:我在一家制造SwaggerHub的公司工作。

 类似资料:
  • 问题内容: 我是使用Heroku的新手,并且有一个Ruby / Sinatra应用程序,我打算在其中使用MySQL数据库作为主要数据存储。 但是,我不想将结果直接写到Heroku上的数据库中。相反,我想将结果写入本地数据库,然后能够轻松地将本地数据库部署/更新/复制到Heroku上的“生产”数据库。 我该怎么做呢? 谢谢。 问题答案: 首先Heroku在本地使用postgres。如果您在本地使用,

  • 我尝试部署我创建的本地容器映像之一,但总是得到以下错误 无法拉出映像“webrole1:dev”:rpc错误:code=未知desc=守护进程的错误响应:对webrole1的拉出访问被拒绝,存储库不存在或可能需要“docker登录”:被拒绝:请求访问 我已经按照下面的文章来容器我的应用程序,我能够成功地完成这一点,但当我试图将它部署到k8s pod时,我没有成功 下面是我的PowerShell中的

  • 我对SageMaker有以下挑战: > 我已经下载了一个教程笔记本(https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/tensorflow_abalone_age_predictor_using_keras/tensorflow_abalone_age_predictor_us

  • 在Chrome上有一个关于相同问题的类似问题,在Chrome上有一个解决它的答案。 当我尝试转到时,Firefox会将我重定向到。为什么?如果我打开一个隐姓埋名的窗口,就不会发生这种情况。在我解决这个之前我不能继续发展。请帮忙。

  • 目前,我使用JFrog artifactory Gradle插件将java构建构件上载到本地artifactory存储库(Gradle默认存储库布局)。我想将其中一些部署到JCenter和/或Maven Central,使其开源并可供任何人访问。为此,我在Artifactory上创建了一个发行版(使用默认设置),并将其链接到我创建的一个Bintray帐户。然而,当我尝试从本地artifactory