Пользовательский интерфейс Swagger создан локально, но страница не найдена в Heroku - PullRequest
0 голосов
/ 16 мая 2019

Я создал RESTful API с Python и Flask и развернул его на Heroku. API работает нормально, но я не могу получить доступ к странице со своим пользовательским интерфейсом, я получаю сообщение об ошибке 404, но когда я запускаю его локально, у меня нет проблемы.

Я видел много сообщений о том, что проблема может быть связана с HTTPS-соединением, поэтому я указал различные схемы в моем файле swagger.yml, но это ничего не меняет.

swagger: "2.0"
info:
  description: my swagger file
  version: "1.0.0"
  title: my title
consumes:
  - application/json
produces:
  - application/json

host : myapi.herokuapp.com
basePath: /api
schemes: [http, https]

paths:
  /spread:
    get:
      operationId: spread.read_all
      tags:
        - Spread
      summary: Read the file containing all calculated values
      description: Read the file containing all calculated values
      parameters:
        - name: length
          in: query
          type: integer
          description: Number of people to get from people
          required: false
        - name: offset
          in: query
          type: integer
          description: Offset from beginning of list where to start gathering people
          required: false
      responses:
        200:
          description: description
          schema:
            type: array
            items:
              properties:
                exp_spread:
                  type: string

А вот и мой requirements.txt:

flask
pandas
gunicorn
connexion

Я просто хотел бы получить доступ к своей странице документации по swagger, как я делаю локально, набрав https://myapi.herokuapp.com/api/ui.

1 Ответ

0 голосов
/ 16 мая 2019

Обновите requirements.txt, чтобы оно зависело от

connexion[swagger-ui]

вместо connexion, затем повторите развертывание. Пользовательский интерфейс по умолчанию не установлен :

Пользовательский интерфейс Swagger для API доступен в дополнительных пунктах.Вы можете установить его с помощью pip install connexion[swagger-ui].Он будет обслуживаться в {base_path}/ui/, где base_path - базовый путь API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...