apache / apache/servicecomb-java-chassis

[QUESTION] - 针对org.json.JSONObject无法生成对应的契约

Ouverte
#4,749 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
question
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.