Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brutusin/brutusin-rpc
Self-describing JSON-RPC web services over HTTP, with automatic API description based on JSON-Schema
https://github.com/brutusin/brutusin-rpc
http java json json-rpc2 json-schema microservices single-page-applications spa spring websockets
Last synced: about 1 month ago
JSON representation
Self-describing JSON-RPC web services over HTTP, with automatic API description based on JSON-Schema
- Host: GitHub
- URL: https://github.com/brutusin/brutusin-rpc
- Owner: brutusin
- License: apache-2.0
- Created: 2016-01-29T08:20:06.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-09T14:01:09.000Z (4 months ago)
- Last Synced: 2024-10-11T16:05:41.839Z (about 1 month ago)
- Topics: http, java, json, json-rpc2, json-schema, microservices, single-page-applications, spa, spring, websockets
- Language: Java
- Homepage: http://demo.rpc.brutusin.org
- Size: 1.36 MB
- Stars: 40
- Watchers: 6
- Forks: 11
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Brutusin-RPC [![Hex.pm](https://img.shields.io/hexpm/l/plug.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![Build Status](https://api.travis-ci.org/brutusin/Brutusin-RPC.svg?branch=master)](https://travis-ci.org/brutusin/Brutusin-RPC) [![Maven Central Latest Version](https://maven-badges.herokuapp.com/maven-central/org.brutusin/rpc-root/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.brutusin/rpc-root/)
JEE web framework for creating self-descriptive JSON-RPC microservices and single-page applications with minimal effort.
## Features
- JSON-RPC 2.0 over HTTP
- JSON-RPC 2.0 over websockets
- Messaging (publish/subscribe) over websockets
- Java & Javascript client API
- Builtin descriptive services and functional testing module
- Arbitrary complex input and output description based on JSON Schema
- Spring-security integration
- Embedded server runtimes## Full Documentation
See the [Wiki](https://github.com/brutusin/Brutusin-RPC/wiki) for full documentation, examples, operational details and other information.
## Quick start. Code and test!
Run this java application:
```java
import org.brutusin.rpc.Server;
import org.brutusin.rpc.websocket.WebsocketAction;public class HelloAction extends WebsocketAction {
@Override
public String execute(String input) throws Exception {
return "Hello " + input + "!";
}public static void main(String[] args) throws Exception {
Server.test(new HelloAction());
}
}
```
and automatically your browser will be open with a functional testing client for the newly created service:![Service testing client](https://github.com/brutusin/Brutusin-RPC/wiki/img/hello-action-test.png)
## Live demos
- http://demo.rpc.brutusin.org
- http://secure.demo.rpc.brutusin.org (see [here](https://github.com/brutusin/Brutusin-RPC/tree/master/rpc-demos/rpc-demo-security-jar) needed credentials)
- http://chat.demo.rpc.brutusin.org## Support, bugs and requests
https://github.com/brutusin/Brutusin-RPC/issues## Authors
- Ignacio del Valle Alles ([@idelvall](https://github.com/idelvall))
Contributions are always welcome and greatly appreciated! Just fork, and send me a pull request.
## License
Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0