설명하려고하는 API에는 루트 객체가 임의의 수의 자식 객체 (객체 자체의 속성)를 포함 할 수있는 구조가 있습니다. 루트 객체의 "키"또는 속성은 하위 객체의 고유 식별자이며 값은 하위 객체의 나머지 데이터입니다. ,`map` 객체의 속성 이름에 OpenAPI 3 (Swagger) 스펙을 쓰는 방법은 무엇입니까?
[
{ "id": "child1", ... bunch of stuff ... },
{ "id": "child2", ... bunch of stuff ... },
...
]
하지만이 모두가 식별 속성이 아니라 명시 적보다는 암시 아이들의 ID 고유성이 구조적으로 명확하지 무엇이며 수 있습니다 :
{
"child1": { ... bunch of stuff ... },
"child2": { ... bunch of stuff ... },
...
}
이
마찬가지로 예를 들어, 배열로 모델링 할 수있다 그래서 우리는 객체 또는지도를 사용하려고합니다.Model with Map/Dictionary Properties에 대한 스와거 설명서를 보았지만 사용 사례에 맞지 않습니다. 같은 것을 쓰기 :
"Parent": {
"additionalProperties": {
"$ref": "#/components/schemas/Child",
}
하면이 같은 것을 나타냅니다 :
이 적절히 속성 값의 descriptiveness을 전달,하지만 어떻게 제한은 "키 무엇 문서화 않습니다 "물건에? 이상적으로는 "어떤 임의의 문자열이 아니라 아이에게 해당하는 ID"와 같은 것을 말하고 싶습니다. 이것은 어떤 방식 으로든 지원됩니까?
관련 항목 : [동적 키 값 해시 맵을 사용하는 복잡한 응답 모델] (https://stackoverflow.com/q/41097913/113116), [명명 된 요소가있는 배열에 대한 허풍 모델] (https : // stackoverflow. com/q/27860912/113116), [Swagger editor 사전 매개 변수 정의] (https://stackoverflow.com/q/41867499/113116) – Helen
이 GitHub 문제는 약간 관련이 있습니다. https://github.com/OAI/OpenAPI - Specifications/Issues/687 – user2152081