2016-06-29 4 views
1

yaml 구문을 사용하여 swagger에서 심판 배열을 정의하는 방법에 대한 질문이 있습니다. 다음Swagger.io - post 메서드의 심판 배열

- name: myfield 
     in: formData 
     description: 'description' 
     required: false 
     type: array 
     items: 
     $ref: '#/definitions/MyRef' 

정의된다 : 내 필드를 정의하는 다음과 같은 YAML 조각이 내 필드의 모든 것을 미리보기에서

MyRef: 
    type: object 
    properties: 
     id: 
     type: integer 
     value: 
     type: string 
     description: the value for the myRef 

것은 잘 보이는 :

swagger

하지만 "유효한 매개 변수 정의가 아닙니다."오류가 발생했으며 자세한 오류에서 "데이터가 'oneOf'의 스키마와 일치하지 않습니다.

설명서에서 이와 같은 내용을 찾을 수 없습니다. 올바른 구조는 무엇입니까? 무엇이 없습니까?

답변

3

이는 formData 일 수 있습니다. 에는 프리미티브 또는 프리미티브 배열이 포함되어 있기 때문입니다. 값으로 $ref을 사용할 수 없습니다. 이것은 스펙 (3.0)의 다음 버전에서 변경 될 수 있지만 스펙이 허용하지 않으므로 2.0 툴링에서 지원되지 않습니다.

+0

답변 해 주셔서 감사합니다. 내가하고 싶은 다른 대안이 있습니까? 아니면 3.0까지 기다려야합니까? –

+0

지금 당신은 문자열의 배열을 가져야하고, 문자열에 넣을 수있는 모든 것을 탈출 할 수 있습니다. 또는 UI를 포크하고 해킹 할 수는 있지만 그렇게하지 않는 것이 좋습니다. 대부분의 사람들은 문자열 배열을 사용합니다. – fehguy