为了账号安全,请及时绑定邮箱和手机立即绑定

从外部 yaml 文件引用响应时的 NPE

从外部 yaml 文件引用响应时的 NPE

30秒到达战场 2022-10-07 19:37:29
我正在拆分 YAML 文件,但是在生成代码时出现以下异常:java.lang.NullPointerException    at io.swagger.v3.parser.ResolverCache.updateLocalRefs(ResolverCache.java:162)    at io.swagger.v3.parser.ResolverCache.loadRef(ResolverCache.java:152)    at io.swagger.v3.parser.processors.ExternalRefProcessor.processRefToExternalResponse(ExternalRefProcessor.java:205)    at io.swagger.v3.parser.processors.ResponseProcessor.processReferenceResponse(ResponseProcessor.java:76)    at io.swagger.v3.parser.processors.ResponseProcessor.processResponse(ResponseProcessor.java:38)    at io.swagger.v3.parser.processors.OperationProcessor.processOperation(OperationProcessor.java:56)    at io.swagger.v3.parser.processors.PathsProcessor.processPaths(PathsProcessor.java:83)    at io.swagger.v3.parser.OpenAPIResolver.resolve(OpenAPIResolver.java:49)    at io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:53)    at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:19)我正在努力实现的示例(openapi.yaml):openapi: 3.0.0info:  title: Common Data Types  version: "1.0"paths:  /{appId}/subscriptions:    get:      summary: read all of the active subscriptions for the app      responses:        '200':          description: OK (Successful)          content:            application/json:              schema:                type: array                items:                  $ref: '#/components/schemas/subscription'        '400':          $ref: './common.yam#/components/responses/E400'        '401':          $ref: './common.yam#/components/responses/E401'components:  schemas:    subscription:      type: string和common.yaml:openapi: 3.0.0info:  title: Common Data Types  version: "1.0"paths: {}components: responses:    E400:      description: Bad request    E401:      description: Unauthorized语境:$ tree├── common.yaml└── openapi.yaml$ openapi-generator version3.3.0
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

此问题已在openapi-generator-cli-4.0.0-beta3.


但是,对于3.3.0以下版本将起作用


我观察到的是导致问题的if common.yaml文件被修改为common_modified.yaml,问题得到解决并且没有Null指针异常。


YAML 导致问题common.yaml


openapi: 3.0.0

    info:

      title: Common Data Types

      version: "1.0"

    paths: {}

    components:

     responses:

        E400:

          description: Bad request

        E401:

          description: Unauthorized

修改后的 YAML 修复了问题common_modified.YAML


openapi: 3.0.0

    info:

      title: Common Data Types

      version: "1.0"

    paths: {}

    components:

     responses:

        E400:

          description: Bad request

          content:

            applictaion/json:  

        E401:

          description: Unauthorized

          content:

            applictaion/json:

如果从外部引用,似乎开放 API 会查找内容。不过不确定。但对我有用!


查看完整回答
反对 回复 2022-10-07
  • 1 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信