RAML for JAX-RS的raml-to-jaxrs子项目简介
2017-07-14 17:49
190 查看
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接口
执行完毕,在C:\Sam\works\raml-for-jax-rs\raml-to-jaxrs\raml-to-jaxrs-cli\tmp路径下生成Java代码:
com\ericsson\raml\model\
com\ericsson\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,另一个是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.ericsson.raml.model -r com.ericsson.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\ericsson\raml\model\
com\ericsson\raml\resource\
参考链接:
https://github.com/mulesoft/raml-for-jax-rs https://github.com/raml-org/raml-java-parser
相关文章推荐
- Develop an Apache HttpClient client for Android to a JAX-RS web service
- raml-for-jax-rs插件
- Maven项目导入到Eclipse时Build出现the user operation is waiting for building workspace to complete的问题解决
- maven WEB项目启动没问题访问页面就报错:org.apache.jasper.JasperException: Unable to compile class for JSP
- Welcome to buy 80% off cheapest rs 07 gold on RSorder 7.25 for Hidey holes
- maven项目中jsp不能编译情况(Unable to compile class for JSP)
- IntelliJ maven项目pom文件错误failed to read artifact descriptor for xx.jar问题解决办法
- Android项目运行时出现错误: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for
- idea导入项目出现Unable to import maven project: See logs for details提示
- Get Up to 20% off lucky code for 07 rs gold buying from Rsorder facebook 5.20-5.30
- import项目后运行报错 Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for sta
- JAX-RS简介
- Safe Way to Snap cheapest 07 rs gold with Up To 10% Bonus Until May.10 for OSRS Client of Kourend
- 四 错误处理篇 How to Fix Login Failed For User NT AUTHORITY IUSRS in SharePoint 2013 ...
- Maven多模块项目单独编译子模块项目时报错:Failed to execute goal on project/Could not resolve dependencies for project
- JBoss Resteasy是一个遵守JAX-RS 标准的REST的开源项目
- xcode6新建项目,删除mainstoryboard,新建storyboard报错:failed to instantiate the default view controller for ...
- idea 创建maven项目报错: Failed to create parent directories for tracking file
- 开源项目Universal Image Loader for Android 说明文档 (1) 简介
- maven项目打包发布问题-Unable to locate Spring NamespaceHandler for XML schema namespace