apache / apache/servicecomb-java-chassis
[QUESTION] - 针对org.json.JSONObject无法生成对应的契约
- Langage dominant
- Java
- Étoiles
- 1.9k
- Forks
- 814
- Merge moyen
- 8 j 23 h
- PR mergées (30 j)
- 1
Description
### Steps to reproduce (if applicable)
所使用开源软件为org.json:json版本号为20240303
定义一个Controller接口,返回类型为
```
class A {
String data;
JSONObject detail;
}
```
生成契约时报错空指针异常
Caused by: java.lang.IllegalStateException: Generate swagger operation failed, method=TestController:test, cause=Cannot invoke "io.swagger.v3.oas.models.media.Schema.get$ref()" because "result" is null
at org.apache.servicecomb.swagger.generator.core.AbstractSwaggerGenerator.scanMethods(AbstractSwaggerGenerator.java:240)
at org.apache.servicecomb.swagger.generator.core.AbstractSwaggerGenerator.generate(AbstractSwaggerGenerator.java:122)
at org.apache.servicecomb.swagger.generator.SwaggerGenerator.generate(SwaggerGenerator.java:33)
at org.apache.servicecomb.swagger.engine.SwaggerEnvironment.createProducer(SwaggerEnvironment.java:120)
at org.apache.servicecomb.core.provider.producer.ProducerProviderManager.registerSchema(ProducerProviderManager.java:98)
at org.apache.servicecomb.core.provider.producer.ProducerProviderManager.registerProducerMetas(ProducerProviderManager.java:87)
at org.apache.servicecomb.core.provider.producer.ProducerProviderManager.init(ProducerProviderManager.java:73)
at org.apache.servicecomb.core.SCBEngine.doRun(SCBEngine.java:359)
### What have you tried so far?
_No response_
### Additional context
_No response_
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Reproduisez l’échec avec org.json:json 20240303 et le type de retour du contrôleur décrit dans l’issue, puis inspectez AbstractSwaggerGenerator.scanMethods à la ligne 240 ainsi que le point d’entrée SwaggerGenerator. Déterminez la représentation de contrat attendue pour JSONObject et assurez-vous que la génération se termine sans le résultat null signalé ; ajoutez ou mettez à jour un test de régression ciblé si l’emplacement de test pertinent est identifié.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- api, backend-api-design
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100