This repository contains an example of Quarkus framework with Restful API + Reactive Programming + JWT + MongoDB.
To compile and run this project you will need:
- JDK 8+
- Mongodb
- Maven 3.6.3
- Public Key(or use
authprofile to generate one automatic)
mvn clean install
You will need to place a public key in src/main/resources/META-INF/resources/publicKey.pem.
mvn compile quarkus:dev
To generate a private/public key to be able to call the API.
QUARKUS_PROFILE=auth mvn compile quarkus:dev
To access Swagger UI and generate a valid JWT use /api/auth when auth profile is on.
Use following roles:
- ROLE_ADMIN - Access for all endpoints
- ROLE_COMPANY_READ - Read Access to
GET - /api/companiesandGET - /api/companies/{id}. - ROLE_COMPANY_CREATE - Create Access to
POST - /api/companies - ROLE_COMPANY_SAVE - Update Access to
PUT - /api/companies - ROLE_COMPANY_DELETE - Delete Access to
DELETE - /api/companies
PS: To generate a JWT first need to Logout on Authorize Button.
To generate a docker image native.
mvn package -Pnative -Dquarkus.native.container-build=true
To change default configuration update file application.properties.
https://www.novixys.com/blog/how-to-generate-rsa-keys-java/