Skip to content

Unknown type: null. #33

Description

@abcfy2

Here is my log:

2019-03-19 19:04:50.013  INFO pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2019-03-19 19:04:56.821  INFO d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2019-03-19 19:04:56.925  INFO d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2019-03-19 19:04:57.146  WARN o.grails.core.DefaultGrailsDomainClass   : The GrailsDomainClass API should no longer be used to retrieve data about domain classes. Use the mapping context API instead
2019-03-19 19:04:59.889  WARN o.grails.core.DefaultGrailsDomainClass   : The GrailsDomainClass API should no longer be used to retrieve data about domain classes. Use the mapping context API instead
2019-03-19 19:04:59.906  WARN o.grails.core.DefaultGrailsDomainClass   : The GrailsDomainClass API should no longer be used to retrieve data about domain classes. Use the mapping context API instead
2019-03-19 19:04:59.946  WARN o.grails.core.DefaultGrailsDomainClass   : The GrailsDomainClass API should no longer be used to retrieve data about domain classes. Use the mapping context API instead
2019-03-19 19:04:59.983 ERROR o.s.boot.SpringApplication               : Application startup failed

java.lang.IllegalArgumentException: Unknown type: null
        at net.bytebuddy.description.type.TypeDefinition$Sort.describe(TypeDefinition.java:213)
        at net.bytebuddy.description.type.TypeDefinition$Sort.describe(TypeDefinition.java:190)
        at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.defineField(DynamicType.java:2487)
        at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.defineField(DynamicType.java:2482)
        at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.defineField(DynamicType.java:2477)
        at springfox.documentation.builders.AlternateTypePropertyBuilder.apply(AlternateTypePropertyBuilder.java:69)
        at springfox.documentation.builders.AlternateTypeBuilder.build(AlternateTypeBuilder.java:64)
        at springfox.documentation.grails.GrailsSerializationTypeGenerator.from(GrailsSerializationTypeGenerator.java:39)
        at springfox.documentation.grails.DefaultGrailsAlternateTypeRuleConvention.lambda$rules$0(DefaultGrailsAlternateTypeRuleConvention.java:42)
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
        at springfox.documentation.grails.DefaultGrailsAlternateTypeRuleConvention.rules(DefaultGrailsAlternateTypeRuleConvention.java:43)
        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper$1.apply(DocumentationPluginsBootstrapper.java:125)
        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper$1.apply(DocumentationPluginsBootstrapper.java:122)

Here is my Grails application project: https://github.com/dteam-top/grails-rest-seed

And I find the reason is that some fields cannot use property.getReferencedPropertyType();(Here will get null:

)

Here will trigger this error: https://github.com/DTeam-Top/grails-rest-seed/blob/1a5eeee346dd14b81fa54b2ba9a25d9a3156e169/grails-app/domain/top/dteam/earth/backend/user/User.groovy#L24

And this line: https://github.com/DTeam-Top/grails-rest-seed/blob/1a5eeee346dd14b81fa54b2ba9a25d9a3156e169/grails-app/domain/top/dteam/earth/backend/user/User.groovy#L54

I comment out these lines and works very well.

One is

    Set<Role> getAuthorities() {
        (UserRole.findAllByUser(this) as List<UserRole>)*.role as Set<Role>
    }

Another is

    static transients = ['accountExpired', 'accountLocked']

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions