首页 > 解决方案 > Springfox 3.0 泛型类型

问题描述

我有以下包含一些属性的类:

...
import java.lang.reflect.Method;

public class Test {
    public Method method;
    ...
}

在我的控制器中,这几行中的一些东西:

@GetMapping(value = "/test")
@ApiOperation(value = "Gets all the tests")
public Test test() {
    ...
}

这是生成的招摇文档:

   "Method":{
        "type":"object",
        "properties":{
            "accessible":{
                "type":"boolean"
            },
            "annotatedExceptionTypes":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/AnnotatedType",
                    "originalRef":"AnnotatedType"
                }
            },
            "annotatedParameterTypes":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/AnnotatedType",
                    "originalRef":"AnnotatedType"
                }
            },
            "annotatedReceiverType":{
                "$ref":"#/definitions/AnnotatedType",
                "originalRef":"AnnotatedType"
            },
            "annotatedReturnType":{
                "$ref":"#/definitions/AnnotatedType",
                "originalRef":"AnnotatedType"
            },
            "annotations":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/Annotation",
                    "originalRef":"Annotation"
                }
            },
            "bridge":{
                "type":"boolean"
            },
            "declaredAnnotations":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/Annotation",
                    "originalRef":"Annotation"
                }
            },
            "default":{
                "type":"boolean"
            },
            "defaultValue":{
                "type":"object"
            },
            "exceptionTypes":{
                "type":"array",
                "items":{
                    "$ref":"Error-ModelName{namespace='java.lang', name='Class«object»'}",
                    "originalRef":"Error-ModelName{namespace='java.lang', name='Class«object»'}"
                }
            },
            "genericExceptionTypes":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/Type",
                    "originalRef":"Type"
                }
            },
            "genericParameterTypes":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/Type",
                    "originalRef":"Type"
                }
            },
            "genericReturnType":{
                "$ref":"#/definitions/Type",
                "originalRef":"Type"
            },
            "modifiers":{
                "type":"integer",
                "format":"int32"
            },
            "name":{
                "type":"string"
            },
            "parameterAnnotations":{
                "type":"array",
                "items":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Annotation",
                        "originalRef":"Annotation"
                    }
                }
            },
            "parameterCount":{
                "type":"integer",
                "format":"int32"
            },
            "parameterTypes":{
                "type":"array",
                "items":{
                    "$ref":"Error-ModelName{namespace='java.lang', name='Class«object»'}",
                    "originalRef":"Error-ModelName{namespace='java.lang', name='Class«object»'}"
                }
            },
            "parameters":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/Parameter",
                    "originalRef":"Parameter"
                }
            },
            "synthetic":{
                "type":"boolean"
            },
            "typeParameters":{
                "type":"array",
                "items":{
                    "$ref":"#/definitions/TypeVariable«Method»",
                    "originalRef":"TypeVariable«Method»"
                }
            },
            "varArgs":{
                "type":"boolean"
            }
        },
        "title":"Method"
    },

如您所见,如果在泛型类中给出错误:

"$ref":"Error-ModelName{namespace='java.lang', name='Class«object»'}",
                        "originalRef":"Error-ModelName{namespace='java.lang', name='Class«object»'}"

有什么想法可以解决这个问题吗?我无法控制与 Java 捆绑的 Method 类。

谢谢并恭祝安康

标签: javaswaggerswagger-2.0springfoxspringfox-boot-starter

解决方案


推荐阅读