RestExpress:类型安全的Java REST客户端

RestExpress

RestExpress是一个极简主义的Java框架,可以快速创建可扩展、非容器的RESTful微服务。它能够在最短的时间内提供产品级、无头(headless)RESTful API。RestExpress使用Netty处理HTTP数据,用Jackson处理JSON数据,用Metrics获取度量信息,用属性文件进行配置。它的子项目和插件支持NoSQL、Swagger、Auth0和HAL集成等功能。

主要功能

RestExpress是在JBOSS Netty栈基础上一层瘦封装,提供了一种简单易用的方式用Java创建RESTful服务,能够在保证效率的同时支持大规模Internet访问量。

RestExpress的设计初衷就是简洁,构建服务只需要三个步骤:

  1. main类使用RestExpress DSL创建服务器示例。
  2. 使用DSL声明服务支持的URL和HTTP方法(类似Rails应用中的routes.rb)。
  3. 服务采用简单POJO实现——不提供接口或者继承父类。

可参考https://github.com/RestExpress/RestExpress-Archetype 上手开发。

Maven

稳定版:

开发版:

或者直接从这里下载jar文件:http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22RestExpress%22

请注意:如果要使用SNAPSHOT版本,必须在pom文件中启用snapshots选项并指定仓库信息(如果已经有了pom信息,可以直接拷贝下面的配置)

快速教程

请参见Maven Archetypes https://github.com/RestExpress/RestExpress-Archetype 快速开发:

  • HTTP方法,如果没有在流式接口(DSL)中改变,会创建了下面映射:
    • GET –> read(请求、回复)
    • PUT –> update(请求、回复)
    • POST –> create(请求、回复)
    • DELETE –> delete(请求、回复)
  • 可以在上面的方法中返回对象,如果需要,可以在回复的内容中返回给客户端。根据请求中的配置会将对象会编码为JSON或XML(’.xml’ or ‘?format=xml’)。
  • 如果方法不返回值(void方法)并且使用原始回复,在返回HTTP状态204(无内容)之前需要调用response.setResponseNoContent()。
  • 一旦创建成功,调用response.setResponseCreated()将HTTP状态码设置为201。
  • 实际项目中的例子,请参见 https://github.com/RestExpress/RestExpress-Examples 仓库中的示例,提供了额外的项目示例设置RestExpress服务。执行 ‘mvn exec:java‘ ,接下来就可以从GET过程’/routes/metadata’ 中看到可用的信息列表(例如,在浏览器中查看  localhost:8081/routes/metadata)。

开源地址:https://github.com/RestExpress/RestExpress

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 收藏

资源整理者简介:唐尤华

唐尤华:我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其实我是一个程序员。 个人主页 · 贡献了108个资源 · 18 ·    


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer