• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

SoftInstigate/restheart: REST, GraphQL and WebSocket APIs for MongoDB.

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

SoftInstigate/restheart

开源软件地址(OpenSource Url):

https://github.com/SoftInstigate/restheart

开源编程语言(OpenSource Language):

Java 94.2%

开源软件介绍(OpenSource Introduction):

RESTHeart - Ready to use backend for the modern Web.

REST, GraphQL and WebSocket APIs for MongoDB.

GitHub last commit Github stars Maven Central Docker Pulls Join the chat at https://gitter.im/SoftInstigate/restheart

RESTHeart provides:

  1. Out of the box data persistence on MongoDB and any compatible database, like AWS DocumentDB or Azure Cosmos DB, with REST, GraphQL and WebSocket APIs.
  2. Declarative authentication, authorization and user management for your applications.
  3. Polyglot development framework supporting Java, Kotlin, JavaScript and TypeScript.

With RESTHeart you can access 100% of MongoDB capabilities with plain HTTP calls, no programming is needed!

Note: Book a free 1-to-1 demo and ask us anything!

At startup, RESTHeart connects automatically to the configured MongoDB database and exposes it via a complete API. See the below example session that uses HTTPie for REST calls:

RESTHeart in action

Developers can save at least 80% of backend code to manage security and serve content to Mobile Apps, Angular, React, Vue or other SPA frameworks.

RESTHeart use cases

Advanced features

RESTHeart embeds Undertow, a flexible and performant web server written in Java, providing both blocking and non-blocking HTTP API’s based on NIO. Undertow is the underlying HTTP server of RedHat's Wildfly.

RESTHeart works out-of-the-box by merely installing and configuring it. It is particularly suitable to run as a Docker container, so it works perfectly in Kubernetes and AWS ECS clusters.

RESTHeart also supports GraalVM, a new Java Virtual Machine from Oracle that offers a polyglot runtime environment and the ability to compile Java applications to native binary images.

Ther internal architecture is based on plugins and exposes an API that allows to implement additional custom services in Java, Kotlin, JavaScript or TypeScript.

To extend the default behavior you can implement the following Java interfaces:

  • Service - to develop custom business logic and web services.
  • Interceptor - to intercept and modify requests and responses on the fly, at different stages of the HTTP lifecycle.
  • Initializer - to execute any kind of initialization logic once, at system startup time.

The GraphQL default plugin works side by side with the already existing REST endpoints to get a managed, unified GraphQL API for modern applications.

The embedded WebSocket server can expose MongoDB's Change Streams, which allow applications to access real-time data changes.

For all these reasons, RESTHeart is the perfect "low code", self-contained backend for modern Web and Mobile apps, designed to radically simplify development and deployment.

Download

Download prebuilt packages from releases

Find setup instructions at Setup documentation page.

Build from source

Note: Building RESTHeart from scratch requires at least Java 17 and maven 3.6.

$ ./mvnw clean package

You can then run it with (make sure to have mongod running):

$ java -jar core/target/restheart.jar core/etc/restheart.yml -e core/etc/default.properties

Automatic snapshot builds

Snapshot builds are available from sonatype.org

Docker images of snapshots are also available:

$ docker pull softinstigate/restheart-snapshot:[commit-short-hash]

For commit short hash you need the first 7 digits of the hash, e.g.

$ git log

commit 2108ce033da8a8c0b65afea0b5b478337e44e464 (HEAD -> master, origin/master, origin/HEAD)
Author: Andrea Di Cesare <[email protected]>
Date:   Fri Oct 22 12:46:00 2021 +0200

    :bookmark: Bump to version 6.2.0-SNAPSHOT

...

The short hash is 2108ce0 and the docker pull command is therefore

$ docker pull softinstigate/restheart-snapshot:2108ce0

Documentation

The full documentation is available here.

You can also have a look at our introductory video on Youtube:

Watch the video!

Contacts and Support

Become a Sponsor

You can support the development of RESTHeart via the GitHub Sponsor program and receive public acknowledgment of your help.

Go and see available sponsor tiers.

Sponsors


Made with ❤️ by SoftInstigate. Follow us on Twitter.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap