提供 YML 时使用 JSON 解析器的 swagger-codegen

Dan*_* W. 3 json yaml swagger-codegen

尝试使用 swagger-codegen 为 PHP 生成 API 类。

[根据文档][1],它应该自动知道 JSON 和 YML 之间的区别。

看起来情况并非如此:

docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \
    -i https://.../interface.yml \
    -l php \
    -o /local/out/php
Run Code Online (Sandbox Code Playgroud)

例外:

[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
...
Run Code Online (Sandbox Code Playgroud)

从 YML 生成客户端和实体的正确指令是什么?

Hel*_*len 5

您正在使用扬鞭代码生成2.x中不支持的OpenAPI 3.0。

改用代码生成版本3.xhttps :
//hub.docker.com/r/swaggerapi/swagger-codegen-cli-v3/