[英]python server stub generated from swagger-codegen is simply not working locally
我在線從swagger 編輯器的 swagger-codegen 生成 python 服務器存根,我想在本地運行生成的Not Found
服務器存根錯誤,但它不工作並且端點給了我錯誤。 我查看了 swagger 社區,沒有找到與此相關的單個問題。 基本上,我在yaml
文件中使用了 openapi 規范來生成 python 服務器存根,但生成的服務器存根不能在本地運行。 我不知道發生了什么事。 有沒有人遇到過這個問題? 從可以在本地運行和測試的 swagger-codegen 生成 python 服務器存根的正確方法是什么? 任何想法?
openapi 規范文件
yaml 文件的開頭如下:
openapi: 3.0.2
info:
title: api
description: test api
contact:
name: python server
url: /api/v1/
email: info@gmail.com
version: 1.0.0
servers:
- url: /api/v1/
description: SwaggerHub API Auto Mocking
- url: /api/v1/
description: IMM AWS Server 1
我使用此 yaml 文件生成了 python 服務器存根,但生成的 python 服務器存根不起作用,無法從 ZDDFCZ6/7cmdA67BDD75EE 本地運行。 任何想法使這項工作? 任何可能的想法?
更新
這是我嘗試過的:
venv) C:\Users\kim\photoalbum_api>python -m swagger_server
The swagger_ui directory could not be found.
Please install connexion with extra install: pip install connexion[swagger-ui]
or provide the path to your local installation by passing swagger_path=<your path>
The swagger_ui directory could not be found.
Please install connexion with extra install: pip install connexion[swagger-ui]
or provide the path to your local installation by passing swagger_path=<your path>
* Serving Flask app "__main__" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
所以我做了pip install connexion[swagger-ui]
並嘗試在本地運行它,但端點總是給我這個:
出於可重現的目的,我還測試了這個openapi 規范文件以生成 python 服務器存根,但它不能正常工作。 為什么? 任何想法使這項工作? 謝謝
新更新:
即使我嘗試使用http://localhost:8080/
,端點總是給我這個:
(venv) C:\Users\kim\photouser_api>python -m swagger_server
* Serving Flask app "__main__" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 198-543-983
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
127.0.0.1 - - [16/May/2020 12:13:51] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [16/May/2020 12:14:02] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [16/May/2020 12:14:05] "GET /api HTTP/1.1" 404 -
127.0.0.1 - - [16/May/2020 12:14:10] "GET /api/v1 HTTP/1.1" 404 -
127.0.0.1 - - [16/May/2020 12:14:14] "GET /api/v1/ HTTP/1.1" 404 -
127.0.0.1 - - [16/May/2020 12:15:14] "GET / HTTP/1.1" 404 -
為了讓它在我的機器上工作,我克隆了你的 repo openapi.yaml 。 然后我在您的 openapi.yaml 中將 url 修改為 /api/v1/,並在您的requirements.txt中將連接更改為 2.6.0。 我創建了 virtualenv,並按照README.md中的說明安裝了 requirements.txt,然后運行它。 在瀏覽器中,我輸入http://localhost:8080/api/v1/ui這應該會顯示 swagger ui。 我還嘗試了 docker 構建指令,這也有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.