Json Schema 及 JsonSchema2pojo maven plugin

Json Schema

Json Schema是一种json定义格式,允许你自己定义json的注释和验证json文本。

Json Schema

  • 描述现有数据格式。
  • 干净的人类和机器可读的文档。
  • 完整的结构验证,有利于自动化测试。
  • 完整的结构验证,可用于验证客户端提交的数据。

Json schema 格式

参照 https://blog.csdn.net/silence_xiao/article/details/81303935

官网 http://json-schema.org/understanding-json-schema/basics.html

JsonSchema2pojo

使用Json Schema生成POJO(Plain Ordinary Java Object 简单的Java对象)的插件。

The Maven plugin

配置方法:

  • 1.配置pom.xml引入jsonschema2pojo-maven-plugin并设置goal为generate.
        
            
                org.jsonschema2pojo
                jsonschema2pojo-maven-plugin
                1.0.0
                
                    ${basedir}/src/main/resources/schema
                    com.example.types
                
                
                    
                        
                            generate
                        
                    
                
            
        
  • 2.设置编译环境为Java 6及以上
      
            org.apache.maven.plugins
            maven-compiler-plugin
            
                1.8
                1.8
            
        
  • 3.设置依赖包,可以选用Jackson、FastJson或者Gson。
        
            commons-lang
            commons-lang
            2.4
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.5.4
        
  • 4.以上配置,即可在编译时,自动把${basedir}/src/main/resources/schema目录下定义的Json Schema生成相关的Class文件到com.example.types包下。

Maven plugin其他配置

  • 1.输出java文件到指定目录....
            
                org.jsonschema2pojo
                jsonschema2pojo-maven-plugin
                0.4.37
                
                    ${basedir}/src/main/resources/schema
                    cn.csg.common.vo
                    ${basedir}/src/main/java
                
                
                    
                        
                            generate
                        
                    
                
            

这个配置可以直接生成java文件,在Idea环境编码时,其他项目无需在引用lib指向此项目的classes文件夹,只需要配置对此项目的依赖。

  • 2.为POJO生成builder方法true
        
                org.jsonschema2pojo
                jsonschema2pojo-maven-plugin
                0.4.37
                
                    ${basedir}/src/main/resources/schema
                    cn.csg.common.vo
                    true
                    ${basedir}/src/main/java
                
                
                    
                        
                            generate
                        
                    
                
            

设置后,生成builder。这个builder可以简单的在一行初始化一个对象:

MyObject o = new MyObject().withFoo("foo").withBar("bar").withBaz("baz");
  • 3.一个陷阱.
    不要设置此参数json!

其他

关于Schema定义其他特性 https://github.com/joelittlejohn/jsonschema2pojo/wiki/Reference

关于JsonSchema2pojo除Maven的其他插件和使用方法 https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started#the-maven-plugin

你可能感兴趣的:(Json Schema 及 JsonSchema2pojo maven plugin)