swaggerhub - SwaggerHub 中是否有用于更新文件定义的 API?
问题描述
是否有更新文件定义的 API?我正在寻找一种方法让我的项目在 Git 和 SwaggerHub 中自动同步,所以我想在每次合并时更新文件定义。是否可以?您如何管理让您的项目和 SwaggerHub 定义自动同步?
解决方案
是的,SwaggerHub 有一个 API:
https://api.swaggerhub.com
与 SwaggerHub API 集成
和一些官方 API 客户端。
API
用于创建或更新 API 的 cURL 命令(注意使用--data-binary
代替-d/--data
):
curl -X POST "https://api.swaggerhub.com/apis/OWNER/API_NAME" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/yaml" \
--data-binary @myapi.yaml
供参考的原始 HTTP 请求:
POST https://api.swaggerhub.com/apis/OWNER/API_NAME
Authorization: YOUR_API_KEY
Content-Type: application/yaml
# Request body is your complete YAML/JSON file
swagger: '2.0'
info:
title: My API
version: 1.0.0
paths:
...
使用正确的Content-Type
标头值:application/yaml
用于 YAML 或application/json
JSON。
SwaggerHub CLI
SwaggerHub API的命令行包装器,可作为 npm 模块使用。
npm install -g swaggerhub-cli
指定您的 API 密钥(从https://app.swaggerhub.com/settings/apiKey获取):
swaggerhub configure
? SwaggerHub URL: https://api.swaggerhub.com
? API Key: <paste your key>
创建一个新的 API:
swaggerhub api:create OWNER/API_NAME --file myapi.yaml
更新现有 API:
swaggerhub api:update OWNER/API_NAME/VERSION --file myapi.yaml --visibility private
Maven 插件
https://github.com/swagger-api/swaggerhub-maven-plugin/
Gradle 插件
推荐阅读
- bash - bash 中控制台上的菜单
- rxcpp - RxCPP 如何订阅从不断被修改的 STL 容器创建的 observable
- heroku - 部署我的应用程序时,我应该将我的 client_secret.json 文件存储在哪里?
- javascript - 如何使用 AJAX/jQuery 从网页更改 XML 文件中的数据
- identityserver4 - IdentityServer 版本 3 数据库架构到 IdentityServer 版本 4 数据库架构迁移
- go - 致命错误:openssl/err.h:没有这样的文件或目录 - windows 机器
- sbt - 带有 sbt 的 FlyWay 插件
- java - 我正在尝试将一个简单的查询插入到 Microsoft 数据库中,并且我正在使用 UCanAccess
- spring-mvc - 多次重复调用 DAO 后返回空数据集
- vue.js - Modal 中的 Vue 路由器视图