2016-10-07 2 views
0

Предположим, у меня есть модель пользователя, определенная с помощью: id, first_name, last_name, created_at, и у меня есть определение объекта для него в swagger.Как опустить поля объектов из запроса на отправку в swagger

Запрос POST для создания пользователя будет ожидать first_name и last_name. Как я напишу это в чванстве? Swagger ожидает, что для объекта должен быть создан единственный объект для этого?

+0

Вы нашли мой ответьте на помощь или вам нужна дополнительная помощь? –

ответ

0

Вы можете пометить first_name, last_name как обязательные поля. Вот пример:

required: 
    - first_name 
    - last_name 

Ref: https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml#L658-L660

(другими словами, нет необходимости создавать отдельный объект)

+0

Но он все равно будет запутан в документации. Я имею в виду больше случаев, когда у меня есть пользовательский объект с полем «id», которое генерируется при создании пользователя. Запрос на отправку ожидал бы объект «Пользователь» без «id». Если я укажу «id» как не требуемый, пользователь API может подумать, что «id» является необязательным и передает его – EugeneMi

1

Как насчет

myuser: 
    allOf: 
    - $ref: '#/definitions/myuserbase' 
    - type: object 
    properties: 
     id: 
     description: | 
      Unique identifier for the classifier. 
     type: string 
     example: user1 
     created_at: 
     description: | 
      Date and time the user was created. 
     type: string 
     format: date-time   
    required: 
     - id 

и

myuserbase: 
    type: object 
    properties: 
     first_name: 
     description: | 
      First name of the user 
     type: string 
     last_name: 
     description: | 
      Last name of the user 
     type: string 
    required: 
     - first_name 
     - last_name 
Смежные вопросы