簡體   English   中英

從 swagger-codegen 生成的 python 服務器存根根本無法在本地工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM