OpenAPI belirtimlerine ve araçlarına ilişkin sınırlamalar
Barındırılan şeffaf karar hizmetini (HTDS) OpenAPI tabanlı istemciler aracılığıyla kullandığınızda, OpenAPI belirtimlerine ve araçlarına ilişkin bazı kısıtlamalarla karşılaşabilirsiniz.
Belirtiler
Bazı OpenAPI başvuru araçlarında yanlış bir davranış nedeniyle belirli kullanım senaryolarında bir sorunla karşılaşabilirsiniz.
Tablo 1 'de, aşağıdaki araçlarla karşılaşabileceğiniz sorunlar açıklanır:
- swagger-core Java™ kitaplığı (ürüne yerleşik): V1.5.10
- Swagger Codegen kod oluşturma aracı: V2.2.1
- Swagger Düzenleyicisi: V2.10.3
Operational Decision Manager , OpenAPI 3.0 'ı kullanır. OpenAPI 2.0 'dan 3.0 'a yükseltiyorsanız, güvenlik tanımları sürümler arasında değişiklik gösterir. Tanımlamayı güncellemezseniz, OpenAPI 3.0 'da bir kural kümesini çağırırken bir kimlik doğrulama hatasıyla karşılaşabilirsiniz.
Tablo 2: OpenAPI 3.x veri tipleri ve sınırlaması , aşağıdaki araçlarla karşılaşabileceğiniz Java tipi sorunları gösterir:
- swagger-core Java™ kitaplığı (ürüne yerleşik): V2.1.4
- swagger-codegen kod oluşturma aracı: V3.0.21
Sorunun tanılanması
You cannot name ruleset parameters Request or Response.
| Veri türü | Sınırlandırma |
|---|---|
short tip |
The OpenAPI specification has only int32 and int64 representations for integer, and standard integer numbers (int and java.lang.Integer) and long numbers (long and
java.lang.Long) respectively for mapping.Kısa sayılar ( As a consequence, when you use |
password veri tipi ek açıklaması |
Java XOM alanlarının @ApiModelProperty ek açıklamasıyla uyarlanması, HTDS tarafından oluşturulan OpenAPI tanımlama dosyasına yansıtılabilir.Özellikle, OpenAPI 'daki Java nesnesinin alanı tipini belirtmek veya geçersiz kılmak için datatype özelliğini kullanabilirsiniz. However, if you set
password as a data type, the OpenAPI definition file might not be generated. Aşağıdaki hatayı görürsünüz:Tanınmayan Tip: [ null] Bu sorun, OpenAPI tanımlama dosyaları oluşturmak için kullanılan swagger-core Java kitaplığında yanlış bir davranışa bağlı. As a workaround, you can use a |
binary veri tipi ek açıklaması |
Similar to the password data type, a String field in a Java XOM can be annotated with the @ApiModelProperty annotation having binary as a data type property.
Ancak, bir Java istemcisi oluşturmak için Swagger Codegen aracını kullanırsanız, ek açıklamalı alan bir Bu kullanım senaryosunun içinde, Swagger düzenleyicisini kullandığınızda böyle bir sorun ortaya çıkar. |
byte tip |
byte ya da java.lang.Byte bir XOM alanı olarak ya da ruleset parametresi olarak kullanıldığında, yürütme sırasında kural kümesi yürütme hatasına yol açan, Swagger Codegen aracı tarafından oluşturulan bir Java istemcisinde byte[] olur.Bu kullanım durumunda, byte 'lar dizgi olarak gösterildiği için, Swagger Editor düzenleyicisini kullandığınızda böyle bir sorun olmaz ve HTDS REST kabul eder ve bunları gerçek baytlara dönüştürür. |
arrays |
Java istemcileri oluşturmak için Swagger Codegen aracını kullandığınızda diziler liste haline gelir. Örneğin, |
| Veri türü | Sınırlandırma |
|---|---|
byte tip |
When Kullanılan değer sınırlamanın dışındaysa, sonucun yanlış olması gerekir. |
char tip |
When Tip, 1 'den büyük bir dizgi değeri uzunluğuyla kullanılırsa, yürütme bir hata atar. |
short tip |
When Kullanılan değer kısa |