apache / apache/servicecomb-java-chassis

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

Aperta
#4,749 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
question
Lingua principale
Java
Stelle
1.9k
Fork
814
Merge medio
8g 23h
PR unite (30g)
1

Descrizione

### 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_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Riprodurre il fallimento con org.json:json 20240303 e il tipo restituito dal controller descritto nell’issue, quindi esaminare AbstractSwaggerGenerator.scanMethods alla riga 240 e l’entry point SwaggerGenerator. Determinare la rappresentazione del contratto prevista per JSONObject e assicurarsi che la generazione venga completata senza il risultato null segnalato; aggiungere o aggiornare un test di regressione mirato se viene identificata la posizione di test pertinente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
api, backend-api-design
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.