本文主要是介绍RAML for JAX-RS的raml-to-jaxrs子项目简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
RAML for JAX-RS是Mulesoft提供的RAML工具之一,能够从RAML文件生成Java+JAX-RS的代码,或者反之。最新版本是2017.7发布的2.1.0。
RAML for JAX-RS包含两个子项目,一个是raml-to-jaxrs,另一个是jaxrs-to-raml。本文主要介绍其中的raml-to-jaxrs。
1. raml-to-jaxrs的特性
- 能够根据RAML文件的定义生成符合JAX-RS的Java接口,如果RAML改变则需要重新生成接口;
RAML文件中定义的一个顶级资源对应一个接口;
一个资源Action生成一个响应对象的封装器;
HTTP方法生成对应的定制Annotations
RAML 1.0中的任何object类型都对应一个Java对象;
基于JSON模式也可以生成Java对象(通过Jackson或Gson),以表示请求对象和响应对象;
2. raml-to-jaxrs的模块组成
- jaxrs-code-generator
从RAML到Java代码转换的核心代码,其实现依赖raml-java-parser解析器。
- raml-to-jaxrs-maven-pluin
从RAML到Java代码转换的Maven插件。
- raml-to-jaxrs-cli
从RAML到Java代码转换的命令行工具。
3. raml-to-jaxrs的构建
mvn clean install
建议对整个RAML for JAX-RS项目进行构建。
4. 从RAML文件生成Java接口
cd C:\Sam\works\raml-for-jax-rs\raml-to-jaxrs\raml-to-jaxrs-cli\
java -jar target\raml-to-jaxrs-cli-2.1.0-jar-with-dependencies.jar-d ./tmp -m com.mydomain.raml.model -r com.mydomain.raml.resource ../examples/maven-examples/raml-defined-example/target/classes/types_user_defined.raml
执行完毕,在C:\Sam\works\raml-for-jax-rs\raml-to-jaxrs\raml-to-jaxrs-cli\tmp路径下生成Java代码:
com\mydomain\raml\model\
com\mydomain\raml\resource\
参考链接:
https://github.com/mulesoft/raml-for-jax-rs
https://github.com/raml-org/raml-java-parser
这篇关于RAML for JAX-RS的raml-to-jaxrs子项目简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!