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已經共享,會話認證經過測試