Как использовать ссылки на примеры Swagger?

Спецификация JSON:

"responses": { "200": { "description": "Успешный ответ сервиса", "schema": { "$ref": "#/definitions/BaseResponse" }, "examples": { "application/json": { "status": true, "response": { "$ref": "#/definitions/Product" }, "errors": null } } } } 

Результат: введите описание изображения здесь

Но мне нужно:

 { "status": true, "response": { "ProductNumber": "number", "Barcode": "number", "Length": 12, "Width": 34, "Height": 423, "Volume": 1232 } }, "errors": null } 

Как я могу использовать $ refs в массиве example для ответа на специальный формат? Это типичный случай, но я не могу найти для него документацию. Благодарим вас за отзыв.

    Примеры Inline не поддерживают $ref – пример должен быть полным примером:

      "responses": { "200": { "description": "Успешный ответ сервиса", "schema": { "$ref": "#/definitions/BaseResponse" }, "examples": { "application/json": { "status": true, "response": { "ProductNumber": "number", "Barcode": "number", "Length": 12, "Width": 34, "Height": 423, "Volume": 1232 }, "errors": null } } } } 

    Вместо использования responses.<code>.examples вы можете указать значения примера в своей схеме BaseResponse , и пользовательский интерфейс Swagger будет использовать их вместо этого.

    Например, вы можете добавить полный пример в свою схему BaseResponse :

      "definitions": { "BaseResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, ... }, "example": { // <------ schema-level example "status": true, "response": { "ProductNumber": "number", "Barcode": "number", "Length": 12, "Width": 34, "Height": 423, "Volume": 1232 }, "errors": null } } } 

    или используйте примеры уровня собственности:

      "definitions": { "BaseResponse": { "type": "object", "properties": { "status": { "type": "boolean", "example": true // <------ }, "response": { "$ref": "#/definitions/Product" }, "errors": { "example": null // <------ } } }, "Product": { "type": "object", "properties": { "ProductNumber": { "type": "string", "example": "number" // <------ }, "Length": { "type": "integer", "example": 12 // <------ }, ... } } } 

    Я хотел бы отметить, что "errors": null и "example": null в действительности не действительны в OpenAPI 2.0 (fka Swagger), поскольку он не поддерживает типы с нулевым значением. Нулевые типы поддерживаются только в OpenAPI 3.0.