Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dmuharemagic/rest-api-benchmark-mipro
Comparison of RESTful APIs implemented in Spring Boot, Quarkus, and Micronaut
https://github.com/dmuharemagic/rest-api-benchmark-mipro
micronaut quarkus spring-boot
Last synced: about 1 month ago
JSON representation
Comparison of RESTful APIs implemented in Spring Boot, Quarkus, and Micronaut
- Host: GitHub
- URL: https://github.com/dmuharemagic/rest-api-benchmark-mipro
- Owner: dmuharemagic
- License: mit
- Created: 2020-02-27T19:18:18.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-05T22:25:35.000Z (about 1 year ago)
- Last Synced: 2024-11-01T08:24:30.592Z (3 months ago)
- Topics: micronaut, quarkus, spring-boot
- Language: TSQL
- Size: 12.5 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RESTful API benchmark tests
This repository features a set of small **RESTful APIs** featuring basic **CRUD operations** in several modern frameworks, including **_Spring Boot_** (_release 2.2.4_), **_Quarkus_** (_version 1.1.1_), and **_Micronaut_** (_version 1.2.10_) to analyze how well they perform in different environments and JDKs, as well as how do they compare with their GraalVM Native Image counterparts.
The applications are a part of a scientific research paper written by _Dino Muharemagić_, _Matija Šipek_, _Branko Mihaljević_ and _Aleksander Radovan_ on the topic "**Enhancing Performance of Cloud-based Software Applications with GraalVM and Quarkus**".
## Description
Each of the implementations operate with a **MySQL database** through the **Hibernate framework** on a table called _products_.
The _products_ table data was randomly generated and consists of approximately _250 rows_.
The applications have a set of **3 endpoints** exposed:
1. **GET** mapping to `/products`, which retrieves a collection of products,
2. **GET** mapping to `/products/{id}`, which retrieves a specific product determined by a unique identifier
3. **POST** mapping to `/product` which creates a new product.## Usage
To use these applications, you firstly need to import the **schema.sql** in your _DBMS_ with your favorite tool.
For each of the implementations, you need to change the **application.properties** file located in _src/main/resources_, and change the _username_ and _password_ properties, in order to successfully connect to your database.
> **NOTE:** All the projects have been generated as IntelliJ IDEA projects.
## License
This code is published under the **MIT License**.