RESTheart官方文档
作者:Andrea Di Cesare, Maurizio Turatti
RESTHeart是SoftInstigate公司创建并开发的开源项目。

MongoDB的WEB操作接口
RESTHEART是MongoDB的WEB操作接口,启动RESTHeart就能通过WEB纯净、安全、完整的RESTful接口来打开MongoDB。
RESTHeart利用MongoDB面向文档的特性,创建一个可通过Http访问的外部资源和MongoDB内部数据存储的自动映射,实现了一个通过HATEOAS(Hypermedia as the Engine of Application State超媒体作为应用状态的引擎)代理相互兼容的模型,客户端使用的状态是完整的被http动作驱动的例如:GET、POST、PUT、PATCH、DELETE等等.
特性
- 可以在不需要任何编码的情况下被使用轻量级的服务器接口
- 完全遵守HTTP, JSON, RESTful, HAL, JSON Schema标准
- 通过已经准备好的身份管理和基于角色的访问管理实现可插入式的身份认证和授权
- 数据操作接口:create, read, update, delete and query documents
- 在每个写操作中支持点符号和更新操作
- 批量操作(再一次请求中创建,更新,删除多条文档数据)
- 在文件存储中支持二进制数据
- 聚合操作同时支持map reduce和aggregation pipeline
- 数据级别操作接口可以创建数据库、集合和索引
- 通过JSON Schema进行数据格式验证
- WebHook可以在request结束后调用其它web资源
- 可以定义文档自动包含超链接映射引用数据的关系
- 在请求中容易的应用转换和检查逻辑
- 提供静态资源(例如html和js)和自定义应用逻辑
- 支持浏览器web缓存和通过Etag避免重复提交
- 跨域资源共享CORS
- 通过内嵌HAL browser 在浏览器中浏览您的数据
做了什么
RESTHEART无缝的连接到MongoDB安全的在web上暴露出了数据库和集合。
所有被授权过(授权与认证已经被做成了开箱即用的方式)的客户端都可以通过RESTHeart的接口与MongoDB互动。
文档数据可以被GET动作读取,可以被PUT、POST和PATCH动作创建和修改,可以通过DELETE动作被删除
数据以JSON的格式被交换(实际上是标准的hal+json的mediatype)
hal是一种在你的接口中为资源数据赋予超链接的一致和简单的格式。
下面这个图片描绘了一个简单的应用场景。一个博客应用客户端发送一个GET请求/blog/posts 以分页形式获取回复数据。

如果你有问题?
如果你有任何问题要问,可以去 Github issues或者Stackoverflow里提问或寻找答案。
源码
RESTHeart基于JAVA8开发,运行于Undertow HTTP服务器的顶层,所有源码可以在Github上找到。
![]()
原文地址:(https://softinstigate.atlassian.net/wiki/display/RH/Home)。转载请注明出处
RESTheart官方文档的更多相关文章
- 【AutoMapper官方文档】DTO与Domin Model相互转换(上)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- 2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
- 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
- 2DToolkit官方文档中文版打地鼠教程(一):初始设置
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(中)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(下)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- Ionic2系列——Ionic 2 Guide 官方文档中文版
最近一直没更新博客,业余时间都在翻译Ionic2的文档.之前本来是想写一个入门,后来觉得干脆把官方文档翻译一下算了,因为官方文档就是最好的入门教程.后来越翻译越觉得这个事情确实比较费精力,不知道什么时 ...
- Kotlin开发语言文档(官方文档)-- 目录
开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...
- 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍
我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...
随机推荐
- 功能测试中遇到的一些有意思的bug
2016.1.25 1. Xss攻击型的bug Xss攻击即跨站脚步攻击,通过插入恶意脚本 ,实现对用户浏览器的控制. Bug现象:新增物品时,物品名称输入一段JavaScript代码,在提交时此代 ...
- 深入理解计算机系统第二版习题解答CSAPP 2.1
A.将0x39A7F8转换为二进制. 0011 1001 1010 0111 1111 1000 B.将二进制1100 1001 0111 1011转换为十六进制. 0xC97B C.将0xD5E ...
- hdu 2027 统计元音
统计元音 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- YII中引用自定义类
如果通过actions方法引用其他自定义类时 <?php class LoginController extends Controller { public function actionInd ...
- SQL Server 2008导入、导出数据库
SQL Server 2008数据库的导入.导出和Mysql的导出还有一定的区别,刚开始的时候完全摸不到方向,利用Microsoft SQL Server Management Studio进行导入. ...
- ElastciSearch常用APi
列出所有的索引: GET /_cat/indices?v 删除索引 DELETE /customer?pretty
- BS开发平台,一小时搞定功能强大的统计分析页面
BS开发平台,一小时搞定功能强大的统计分析页面,拥有强大的功能和详细的权限控制. 1.组织数据,分析需求(实际耗时大约20分钟) 2.建立需要的业务数据表(大致10分钟)3. 运行代码工具,生产需要 ...
- C#微信公众号开发 -- (五)自定义菜单创建
公众号中,底部都是有自己定义的功能按钮,通过点击某个按钮来实现指定的业务逻辑操作. 下面就来说说这些按钮是怎样放到微信公众平台的,还是先来看看微信的官方解释: 请注意: 1.自定义菜单最多包括3个一级 ...
- Service解析
Service解析: 运行service有如下两种方式: StartService() 访问者退出,service仍然运行: BindService() 访问者与service绑定,访问者退出,ser ...
- MVC小系列(六)【无刷新的验证码】
做个无刷新的验证码功能: 第一步:首先,在公用项目中建立一个生成图片验证码的类型ValidateCode /// <summary> /// 生成验证码对象 /// </summar ...