2014-09-18 2 views
8

Я хочу объявить свойство определения модели типа в Swagger 2.0Swagger 2.0: Как объявить свойство определения модели типа?

Правильно ли это определение? (особенно тип: элемент StatusObject)

definitions: 
    MyObject: 
    type: "object" 
    properties: 
     id: 
     type: "number" 
     country: 
     type: "string" 
     status: 
     type: StatusObject 
    StatusObject: 
    type: "object" 
    properties: 
     code: 
     type: "number" 
     shortMessage: 
     type: "string" 
     message: 
     type: "string" 

Спасибо!

ответ

24

Ссылаясь на другие модели/определения, делается с использованием «$ ref».

выше фрагмент кода должен выглядеть следующим образом:

definitions: 
    MyObject: 
    type: "object" 
    properties: 
     id: 
     type: "number" 
     country: 
     type: "string" 
     status: 
     $ref: StatusObject 
    StatusObject: 
    type: "object" 
    properties: 
     code: 
     type: "number" 
     shortMessage: 
     type: "string" 
     message: 
     type: "string" 

Еще один комментарий - вы используете «номер» в качестве типа идентификатора и кода. «number» также может иметь десятичную точку, которую я не уверен, что вы хотите (особенно для id). Если вы хотите только целые числа, подумайте об использовании «integer».

+0

Спасибо большое! Он отлично работает! – JAM

14

В Swagger 2.0:

definitions: 
    MyObject: 
    properties: 
    id: 
     type: "number" 
    country: 
     type: "string" 
    status: 
     $ref: "#/definitions/StatusObject" 
    StatusObject: 
    properties: 
    code: 
    type: "number" 
    shortMessage: 
    type: "string" 
    message: 
    type: "string" 
Смежные вопросы