swagger-codegen с использованием синтаксического анализатора JSON, если предоставляется YML - PullRequest
1 голос
/ 14 января 2020

Попытка сгенерировать классы API для PHP с использованием swagger-codegen.

[Согласно документации] [1], он должен автоматически знать разницу между JSON и YML.

Не похоже, что это так:

docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \
    -i https://.../interface.yml \
    -l php \
    -o /local/out/php

Исключение:

[main] ERROR io.swagger.parser.SwaggerCompatConverter - failed to read resource listing
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'openapi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: (String)"openapi: 3.0.1
info:
  title: Orders
  description: This API documentation describes all endpoints for orders
...

Каковы правильные инструкции для генерации клиента и сущностей из YML?

1 Ответ

1 голос
/ 14 января 2020

Вы используете Swagger Codegen 2.x , который не поддерживает OpenAPI 3.0.

Вместо этого используйте версию codegen 3.x :
https://hub.docker.com/r/swaggerapi/swagger-codegen-cli-v3/

...