私が記述しようとしているAPIには、ルートオブジェクトが任意の数の子オブジェクト(オブジェクト自体のプロパティ)を含むことができる構造があります。ルートオブジェクト内の「キー」またはプロパティは、子オブジェクトの一意の識別子であり、値は子オブジェクトのデータの残りの部分です。`map`オブジェクトのプロパティ名にOpenAPI 3(Swagger)仕様書を書くには?
{
"child1": { ... bunch of stuff ... },
"child2": { ... bunch of stuff ... },
...
}
これは、同様の配列、例えばとしてモデル化することができます、それは構造的にあまり明確何識別プロパティがあると暗黙的ではなく、明示的な子供のIDの中で一意になります両方
[
{ "id": "child1", ... bunch of stuff ... },
{ "id": "child2", ... bunch of stuff ... },
...
]
が、この私たちはオブジェクトやマップを使いたいと思っています。
私はModel with Map/Dictionary PropertiesのSwaggerドキュメントを見てきましたが、それは私の使用事例に適するものではありません。何か書く:
これが十分プロパティの値の記述性を伝えるが、どのように私は制限が「キーのあるものを文書化します:
"Parent": {
"additionalProperties": {
"$ref": "#/components/schemas/Child",
}
すると、このような何かを生み出します"オブジェクト内に?理想的には、「それはちょうど任意の文字列ではなく、それは子供に対応するIDです」というようなことを言いたいと思います。これはどんな方法でもサポートされていますか?
関連:[動的キー値ハッシュマップを使用した複雑な応答モデル](https://stackoverflow.com/q/41097913/113116)、[名前付き要素を持つ配列のスガッガーモデル](https:// stackoverflow。 com/q/27860912/113116)、[Swaggerエディタ辞書パラメータ定義](https://stackoverflow.com/q/41867499/113116) – Helen
このGitHubの問題は、https://github.com/OAI/OpenAPIと少し関係しています。 - 仕様/問題/ 687 – user2152081