swagger-api/swagger-codegen

Swagger ignores vendorextention for $ref type properties

開放

#2,219 建立於 2016年2月23日

 (11 則留言) (0 個反應) (0 位負責人)HTML (5,474 個分叉)batch import
Issue: Bughelp wanted

倉庫指標

星標
 (12,701 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Hi @wing328 ,

Swagger ignores vendorextention for $ref type properties. For e.g. If there is a property as follows in yaml

  myObject:
       properties:
               myid:
                  type: int
                  x-app-extensions: {"aaid" : "bb", "ccid" : "dd"}
errors:
                   x-app-extensions: {"aaerr" : "bb", "ccerr" : "dd"}
    $ref: "#/definitions/errorModel"

Then, swagger model ignores vendorextensions for errors, and only has only $ref property in the parsed json node, and same in reflected in created java model. But, vendorextenion is correctly picked up for myid. The ignorance of vendor extension is due to an issue in following snippet of the code of io.swagger.util.PropertyDeserializer.propertyFromNode(JsonNode) method.

   JsonNode detailNode = node.get("$ref");
  if (detailNode != null) {
      return new RefProperty(detailNode.asText()).description(description);
  }

Is it expected that, $ref type nodes are not supposed to have any other properties?

貢獻者指南