Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFul 风格的 Web 服务。经过 Swagger,咱们能够方便的、快速的实现 RESTFul API,同时它也提供UI界面,能够直观的管理和测试各个API接口,它还能够集成到各类开发语言中,大大提升了咱们平常工做效率。git
Harbor也提供这样一个东东,不过默认没有安装。github
详细的安装说明,能够直接参考官方文档:https://github.com/goharbor/harbor/blob/master/docs/configure_swagger.mddocker
我这里仅作一些简要配置说明。浏览器
Harbor提供一种经过在线Swagger编辑器预览Harbor REST API信息的方式。在线编辑器的地址:http://editor.swagger.io/session
不过使用在线Swagger编辑器,须要咱们提供harbor的swagger.yaml文件,下面是这个文件的两个下载地址:app
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。框架
固然,最好的方式,是直接将Swagger与咱们自建的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
... 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 ...
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已经共享,会话认证经过测试