モデルセクションにHashMapまたは汎用オブジェクトタイプを定義する方法はありますか? 私は製品を返すRESTサービスを持っており、それらの製品には異なるオプションがあります。 optionsプロパティは基本的にHashMapです。ここで、idはオプション名で、その値はオプション値です。Swagger HashMapプロパティタイプ
答えて
はい、可能です。 OpenAPIので
(。FKA SWAGGER)2.0および3.0、ハッシュマップは常に<string, something>
マップです:
- キーは常に文字列であると定義する必要はありません。
- 値の種類は任意で、
additionalProperties
で定義されています。
のは、あなたがこのいずれかのよう<string, string>
ハッシュマップを記述したいとしましょう:
{
"key1": "value1",
"key2": "value2"
}
対応OpenAPIの2.0定義は次のようになります。OpenAPIを3.0に
definitions:
StringStringMap:
type: object
additionalProperties:
type: string
の定義は次のようになります。
components:
schemas:
StringStringMap:
type: object
additionalProperties:
type: string
01この
{
"key1": {"someData": "data", "someOtherData": true},
"key2": {"someData": "data2", "someOtherData": false}
}
よう <string, object>
ハッシュマップは、OpenAPIを2.0にこのように定義されます。
definitions:
ComplexObject:
type: object
properties:
someData:
type: string
someOtherData:
type: boolean
StringObjectMap:
type: object
additionalProperties:
$ref: "#/definitions/ComplexObject"
とOpenAPIの3.0で:
components:
schemas:
ComplexObject:
type: object
properties:
someData:
type: string
someOtherData:
type: boolean
StringObjectMap:
type: object
additionalProperties:
$ref: "#/definitions/ComplexObject"
私は深さでこれを単に紹介してきましたpart 4 of my OpenAPI (fka Swagger tutorial)にあります。
OpenAPI (fka. Swagger) specification explains briefly this too。
これは便利です。値のデータ構造がすべてComplexObject型の場合に有効です。しかし、キーのパターンによって値の構造が異なるシナリオがあります。 JSONスキーマでは、これをpatternPropertiesを使用して簡単に表現できます。 OAS/Swaggerでこれをどのように表現するかについての考えはありますか? –
私はswagger 2.0を使用しています。私は
- 1. Dapperのプロパティタイプ
- 2. HashMap <String、List <Object>>プロパティをswagger ymlに定義する方法は?
- 3. Asp.netウェブAPI入力プロパティタイプ
- 4. C#の 'プロパティタイプ'のないプロパティ
- 5. プロパティデコレータは、特定のプロパティタイプ
- 6. Neo4jのプロパティタイプの一致
- 7. 暗黙的なプロパティタイプは、明示的なプロパティタイプと同じですか?
- 8. Swagger codegen .swagger-codegen-ignore not working
- 9. swagger json {"value": "{\" swagger \ ":\" 2.0 \ "、\" info \ "{\" description?
- 10. Swagger-ToolsでのSwagger-UIのカスタマイズ
- 11. Hybris + swaggerの統合swagger-ui.html UnknownResourceError
- 12. Swagger ServletHandlerError
- 13. TypeScript宣言のマージ - プロパティタイプの変更
- 14. プロパティタイプを取得する方法
- 15. ジェネリックメソッドに渡すプロパティタイプを取得
- 16. プロパティタイプが見つかりません
- 17. クラスインスタンスのプロパティタイプを深く見つける
- 18. は、コールバック引数のプロパティタイプを推測し、
- 19. javascriptオブジェクトのプロパティタイプは数字のみ
- 20. リアクションネイティブでスタイルのプロパティタイプを検証する
- 21. プロパティタイプCONDOをRETから取得
- 22. HashMapのConcurrentModificationExceptionがマルチスレッドコードでは、別のHashMap
- 23. HashMapのArrayListでHashMapを検索する
- 24. ジェネリックHashMap
- 25. のHashMap
- 26. Processing.js HashMap
- 27. Hashmap generic
- 28. HashMap Serializability
- 29. HashMapの
- 30. HashMapプロファイリング
あなたはSwaggerのフレーバーを使用していますか? (jax-rs、playなど) – Eyal
@Eyal:私たちはswagger-uiを使用していて、同じ問題があります。解決策または回避策がありますか? –
@JanHartungいいえ、GoogleのAPIにマップがあまりにも多いわけではありません。[迷惑な問題追跡システムでこの機能リクエストを購読したいと思うかもしれません。](https://github.com/wordnik/swagger- core/issues/244) – Eyal