Harbor之Swagger REST API
Swagger介绍
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFul 风格的 Web 服务。通过 Swagger,我们可以方便的、快速的实现 RESTFul API,同时它也提供UI界面,可以直观的管理和测试各个API接口,它还可以集成到各种开发语言中,大大提高了我们日常工作效率。
Harbor也提供这样一个东东,不过默认没有安装。
详细的安装说明,可以直接参考官方文档:https://github.com/goharbor/harbor/blob/master/docs/configure_swagger.md
我这里仅做一些简要配置说明。
Harbor Swagger预览
Harbor提供一种通过在线Swagger编辑器预览Harbor REST API信息的方式。在线编辑器的地址:http://editor.swagger.io/
不过使用在线Swagger编辑器,需要我们提供harbor的swagger.yaml文件,下面是这个文件的两个下载地址:
URL1:https://raw.githubusercontent.com/vmware/harbor/master/docs/swagger.yaml
URL2:https://github.com/vmware/harbor/blob/master/docs/swagger.yaml
只需要将文件内容直接粘贴到swagger在线编辑器的左边即可。或者在swagger编辑器页面通过File --> Importfile导入yaml。
整合本地Harbor与Swagger
当然,最好的方式,是直接将Swagger与我们自建的harbor服务整合,这样可以实现在线的接口测试。
- 下载prepare-swagger.sh以及swagger.yaml到你本地的harbor目录,我这里就直接放到了/usr/local/harbor中:
wget https://raw.githubusercontent.com/goharbor/harbor/master/docs/prepare-swagger.sh https://raw.githubusercontent.com/goharbor/harbor/master/docs/swagger.yaml
- 修改
prepre-swagger.sh
# 指定harbor的协议,如https/http
SCHEME=<HARBOR_SERVER_SCHEME>
# 指定harbor的访问地址,如hub.test.com
SERVER_IP=<HARBOR_SERVER_DOMAIN>
- 执行
prepare-swagger.sh
chmod +x ./prepare-swagger.sh
./prepare-swagger.sh
- 修改harbor的docker-compose.yml文件,如下:
...
ui:
...
volumes:
- ./common/config/ui/app.conf:/etc/core/app.conf:z
- ./common/config/ui/private_key.pem:/etc/core/private_key.pem:z
- /data/secretkey:/etc/core/key:z
- /data/ca_download/:/etc/core/ca/:z
## add two lines as below ##
- ../src/ui/static/vendors/swagger-ui-2.1.4/dist/:/harbor/static/vendors/swagger/:z
- ../src/ui/static/resources/yaml/swagger.yaml:/harbor/static/resources/yaml/swagger.yaml
...
- 重建harbor容器
docker-compose down -v && docker-compose up -d
- 访问
https://<HARBOR_SERVER>/static/vendors/swagger/index.html
在使用 Harbor API 时,是需要 session ID 的,当我们未登录 Harbor 时,直接使用API将得不到任何结果,这里如果我们想使用 Swagger UI 点击访问API返回结果,那么需要在浏览器中先登录 Harbor Web UI,登录后新开一个tab,在这个tab访问 Harbor Swagger Web,将会得到正常的响应结果,因为这时session已经共享,会话认证通过
Harbor之Swagger REST API的更多相关文章
- Docker镜像仓库Harbor之Swagger REST API整合配置
转载自:https://cloud.tencent.com/developer/article/1010618 1.Swagger 介绍 Swagger 是一个规范和完整的框架,用于生成.描述.调用和 ...
- 在ASP.NET Core Web API上使用Swagger提供API文档
我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...
- Core Web API上使用Swagger提供API文档
在ASP.NET Core Web API上使用Swagger提供API文档 我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的AP ...
- 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档.
- 从壹开始前后端分离 [.netCore 填坑 ] 三十四║Swagger:API多版本控制,带来的思考
前言 大家周二好呀,.net core + Vue 这一系列基本就到这里差不多了,今天我又把整个系列的文章下边的全部评论看了一下(我是不是很负责哈哈),提到的问题基本都解决了,还有一些问题,已经在QQ ...
- ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...
- SpringBoot+Swagger整合API
SpringBoot+Swagger整合API Swagger:整合规范的api,有界面的操作,测试 1.在pom.xml加入swagger依赖 <!--整合Swagger2配置类--> ...
- SpringBoot整合Swagger测试api构建
@Author:SimpleWu 什么是Swagger? Swagger是什么:THE WORLD'S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspec ...
- 【WebAPI No.4】Swagger实现API文档功能
介绍: Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案.简单的说就是一款让你更好的书写API文档的框架. 我们为 ...
随机推荐
- checkbox未选中不提交数据
如果checkbox为选中的话提交的数据为NULL function checkForm() { alert(($("#checkbox").get(0).checked)); i ...
- Microsoft Orleans构建高并发、分布式的大型应用程序框架
Microsoft Orleans 在.net用简单方法构建高并发.分布式的大型应用程序框架. 原文:http://dotnet.github.io/orleans/ 在线文档:http://dotn ...
- 圆桌的项目Alpha冲刺(团队)
(a) 项目课堂演示 (b) 10篇冲刺随笔 冲刺之一 冲刺之二 冲刺之三 冲刺之四 冲刺之五 冲刺之六 冲刺之七 冲刺之八 冲刺之⑨ 冲刺之十 (c) 1篇测试随笔 测试随笔 (d) 1篇冲刺总结随 ...
- 修复PLSQL Developer 与 Office 2010的集成导出Excel 功能
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.htm]"PerceivedType"="text&qu ...
- WebService概述
一.WebService介绍 什么是WebService? 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编 ...
- fasterxml.jackson 将对象转换为json报错处理
最近在做查询的数据遇到如下报错: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found ...
- MidoNet 安装(Kilo RDO)(最老版)
一.初始化(Kilo RDO)版(最老版) 环境介绍 系统 CentOS 7.3 主机ip 10.211.55.5 主机名 midonet 1.配置yum源 ###OpenStack源 yum ins ...
- 监控系统 & monitoring & DevOps
监控系统 & monitoring & DevOps https://github.com/topics/monitoring https://github.com/marketpla ...
- python之导入模块
导入模块的方法: 导入整个模块:import module_name 导入特定函数:from module_name import function_name 给函数指定别名:from module_ ...
- Highcharts之饼图
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...