apache / apache/servicecomb-java-chassis
[QUESTION] - 针对org.json.JSONObject无法生成对应的契约
- Ngôn ngữ chính
- Java
- Star
- 1.9k
- Fork
- 814
- Merge trung bình
- 8 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
### 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_
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Tái hiện lỗi với org.json:json 20240303 và kiểu trả về của controller được mô tả trong issue, sau đó kiểm tra AbstractSwaggerGenerator.scanMethods ở dòng 240 và entry point SwaggerGenerator. Xác định biểu diễn contract dự kiến cho JSONObject và đảm bảo quá trình tạo hoàn tất mà không có kết quả null đã được báo cáo; thêm hoặc cập nhật một regression test tập trung nếu xác định được vị trí test liên quan.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- api, backend-api-design
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100