功能介绍

DGS官方开发了识别schema配置生成对应类型、测试类的代码生成器,而Maven插件则由社区维护

Maven代码生成插件

新增依赖

  
    com.netflix.graphql.dgs.codegen  
    graphql-dgs-codegen-client-core  
    5.1.17  

还需要新增构建插件

	    
                io.github.deweyjose
                graphqlcodegen-maven-plugin
                1.24
                
                    
                        
                            generate
                        
                    
                
                
                    true
                    top.fjy8018.graphsqldemo.generated
                    
                        src/main/resources/graphql/actor.graphqls
                    
                    
                    true
                
            
            
                org.codehaus.mojo
                build-helper-maven-plugin
                
                    
                        generate-sources
                        
                            add-source
                        
                        
                            
                                ${project.build.directory}/generated-sources
                            
                        
                    
                
            

插件配置指引:deweyjose/graphqlcodegen: Maven port of the Netflix Gradle code generation plugin for graphql.

编译

执行

mvn clean package

即可生成对应的类

image-20221028212820748

存在问题

IDEA默认不识别target目录下的资源文件,生成后会导致无法引用

image-20221028213042840

解决方法

需要手动将对应的生成目录配置为Source Root即可

image-20221028213010859

image-20221028213109840

总结

DGS官方推荐开发者优先使用代码生成器生成标准类库后再开发,可以减少开发量

最后修改:2022 年 10 月 28 日
如果觉得我的文章对你有用,请随意赞赏