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服务整合,这样可以实现在线的接口测试。

  1. 下载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
  1. 修改prepre-swagger.sh
# 指定harbor的协议,如https/http
SCHEME=<HARBOR_SERVER_SCHEME>
# 指定harbor的访问地址,如hub.test.com
SERVER_IP=<HARBOR_SERVER_DOMAIN>
  1. 执行prepare-swagger.sh
chmod +x ./prepare-swagger.sh
./prepare-swagger.sh
  1. 修改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
...
  1. 重建harbor容器
 docker-compose down -v && docker-compose up -d
  1. 访问
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的更多相关文章

  1. Docker镜像仓库Harbor之Swagger REST API整合配置

    转载自:https://cloud.tencent.com/developer/article/1010618 1.Swagger 介绍 Swagger 是一个规范和完整的框架,用于生成.描述.调用和 ...

  2. 在ASP.NET Core Web API上使用Swagger提供API文档

    我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...

  3. Core Web API上使用Swagger提供API文档

    在ASP.NET Core Web API上使用Swagger提供API文档   我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的AP ...

  4. 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档.

  5. 从壹开始前后端分离 [.netCore 填坑 ] 三十四║Swagger:API多版本控制,带来的思考

    前言 大家周二好呀,.net core + Vue 这一系列基本就到这里差不多了,今天我又把整个系列的文章下边的全部评论看了一下(我是不是很负责哈哈),提到的问题基本都解决了,还有一些问题,已经在QQ ...

  6. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  7. SpringBoot+Swagger整合API

    SpringBoot+Swagger整合API Swagger:整合规范的api,有界面的操作,测试 1.在pom.xml加入swagger依赖 <!--整合Swagger2配置类--> ...

  8. SpringBoot整合Swagger测试api构建

    @Author:SimpleWu 什么是Swagger? Swagger是什么:THE WORLD'S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspec ...

  9. 【WebAPI No.4】Swagger实现API文档功能

    介绍: Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案.简单的说就是一款让你更好的书写API文档的框架. 我们为 ...

随机推荐

  1. eclispe file查找

    今天查找一段js代码时在本页内找不到,所以需要在整个工程下寻找. 过程如下

  2. ElasticSearch NEST笔记

    ElasticSearch NEST笔记 1. 什么是ElasticSearch? ElasticSearch is a powerful open source search and analyti ...

  3. [转帖]DevOps/TestOps概念

    发现收藏不好用..还是转吧.. https://www.cnblogs.com/fnng/p/8232410.html DevOps/TestOps概念 2018-01-07 22:02 by 虫师, ...

  4. 软件工程_4th weeks

    本周要进行阿尔法版本的发布,因此我们做了一些代码和测试方面的工作.当然了下了课后第一件事还是巩固课上讲的知识,比如MVP.四象限.看了演讲<最后一课>等. 一.结对编程 本周的结对编程继续 ...

  5. Django admin 一些有用的设置

      Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的 ...

  6. Java代码封装redis工具类

    maven依赖关系: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis&l ...

  7. Dictionary CPU 100%

    昨天服务器的CPU突然100%,此服务已经运行几年了,都平安无事.既然问题出现当然要找出这个遗留多年的小概率问题.出现cpu 100% 一般就是哪里出现了无法跳出的死循环. 1.获取进程的内存信息 服 ...

  8. pgm16

    前面结束了关于 learning 部分一些粗浅的讨论,我们大概明白了一些 learning 中 common sense/techniques.剩下的部分我们分为 causality 和 utilit ...

  9. BZOJ4259 残缺的字符串(FFT)

    两个串匹配时相匹配的位置位置差是相同的,那么翻转一个串就变成位置和相同,卷积的形式. 考虑如何使用卷积体现两个位置能否匹配.一个暴力的思路是每次只考虑一种字符,将其在一个串中设为1,并在另一个串中将不 ...

  10. BZOJ1045 HAOI2008糖果传递(贪心)

    显然最后每个小朋友所拥有的糖果数就是糖果数总和的平均数.设该平均数为t. 环的问题一般断成链,但这个题似乎没有什么很好的办法在枚举断点的时候快速算出答案(我甚至不知道会不会有断点) 于是我们假装把他断 ...