Modeller bölümünde HashMap veya Genel Nesne türü tanımlamanın bir yolu var mı? Ürünleri iade eden bir REST hizmetim var ve bu ürünler farklı seçeneklere sahip olabilir. Options özelliği temelde bir HashMap'dir, burada id seçenek seçeneğidir ve değeri seçenek değeridir.Swagger HashMap özellik türü
cevap
Evet, mümkün.
- anahtar her zaman bir dizedir ve tanımlanması gerekmez: OpenAPI yılında
(. Fka Swagger) 2.0 ve 3.0, bir HashMap daima
<string, something>
haritasıdır. - Değer türü, istediğiniz ve
additionalProperties
ile tanımlanmıştır.{ "key1": "value1", "key2": "value2" }
gelen OpenAPI 2.0 tanım olacaktır:
definitions: StringStringMap: type: object additionalProperties: type: string
OpenAPI 3.0'da tanım olacaktır:
Diyelim ki böyle bir <string, string>
hashmap tarif etmek istediğimizi varsayalım
components:
schemas:
StringStringMap:
type: object
additionalProperties:
type: string
01 Bu
{
"key1": {"someData": "data", "someOtherData": true},
"key2": {"someData": "data2", "someOtherData": false}
}
gibi bir <string, object>
HashMap OpenAPI 2.0'da bu şekilde tanımlanacak:
definitions:
ComplexObject:
type: object
properties:
someData:
type: string
someOtherData:
type: boolean
StringObjectMap:
type: object
additionalProperties:
$ref: "#/definitions/ComplexObject"
ve OpenAPI içinde 3.0:
components:
schemas:
ComplexObject:
type: object
properties:
someData:
type: string
someOtherData:
type: boolean
StringObjectMap:
type: object
additionalProperties:
$ref: "#/definitions/ComplexObject"
Sadece derinlemesine bu örtülü ettik part 4 of my OpenAPI (fka Swagger tutorial).
OpenAPI (fka. Swagger) specification explains briefly this too.
Bu, yararlıdır ve değerlerin veri yapısının ComplexObject türünün tamamı olması durumunda çalışır. Bununla birlikte, değerlerin yapısının anahtarın modeline bağlı olarak değiştiği bir senaryom var. JSON Şeması'nda, bunu patternProperties kullanarak kolayca ifade edebilirim. OAS/Swagger'da bunu nasıl ifade edebileceğine dair herhangi bir düşünce var mı? –
Swagger 2.0 kullanıyorum.
- 1. Özellik türü, dahili bir türü
- 2. Swagger
- 3. HashMap
- 4. Çalma Çerçeveli ImplicitParam'da Swagger Veri Türü Modeli
- 5. Swagger editörü Swagger editörü
- 6. Typescript error Özellik türü yok
- 7. Swagger
- 8. Swagger
- 9. HashMap
- 10. java 8'de hangi ağaç türü kullanılır HashMap bucket?
- 11. Swagger ve Tarih
- 12. django-rest-swagger: docstring
- 13. Üretimde swagger-ui'yi nasıl kapatıyorsunuz
- 14. ServiceStack Swagger DTO Hariç tutmuyor
- 15. Swagger + javadoc oluşturma araçları (swagger-jaxrs-doclet, swagger-core), OSGI ortamında çalışmaz
- 16. swagger-node-express: Dosya, swagger-ui'den nasıl yüklenir?
- 17. Java Swagger Annotation Swagger json şemasına nasıl dönüştürülür?
- 18. Swagger belgeleri nasıl paylaşılır
- 19. JSDoc'tan Swagger YAML Oluşturma?
- 20. Swagger ui url parametresi
- 21. Swagger-codegen'i kullanmaya başla
- 22. Swagger UI ServiceStack
- 23. Karmaşık json modelini swagger
- 24. Swagger İstek URL'si sorunu
- 25. Java HashMap çarpışmayı algılıyor
- 26. HashMap to ListView
- 27. HashMap almak döner boş
- 28. hashmap aracılığıyla goblen döngüsü
- 29. Android'de HashMap nasıl depolanır?
- 30. GWT'de HashMap nasıl uygulanır?
Swagger'ın hangi lezzeti kullanıyorsunuz? (jax-rs, play, vb) – Eyal
@Eyal: Swagger-ui kullanıyoruz ve aynı problemi yaşıyoruz. Bir çözümünüz veya çözümünüz var mı? –
@JanHartung Hayır, api'mızda çok fazla haritamız yok ... [abone özelliği izleme sistemindeki bu özellik isteğine abone olmak isteyebilirsiniz.] (Https://github.com/wordnik/swagger- core/issues/244) – Eyal