This is a spring boot and spring security implementation that comes with
- Jwt
- Oauth2
- Refresh Tokens
- a RESTful API
- Unit and Integration Tests
Click here
Method | Url | Description | Request Body | Header | Valid Path Variable | No Path Variable |
---|---|---|---|---|---|---|
POST | /api/v1/authentication/admin/register | Admin Register | AdminRegisterRequest | |||
POST | /api/v1/authentication/admin/login | Admin Login | LoginRequest | |||
POST | /api/v1/authentication/admin/refreshtoken | Admin Refresh Token | TokenRefreshRequest | |||
POST | /api/v1/authentication/admin/logout | Admin Logout | TokenInvalidateRequest | |||
POST | /api/v1/authentication/user/register | User Register | UserRegisterRequest | |||
POST | /api/v1/authentication/user/login | User Login | LoginRequest | |||
POST | /api/v1/authentication/user/refreshtoken | User Refresh Token | TokenRefreshRequest | |||
POST | /api/v1/authentication/user/logout | User Logout | TokenInvalidateRequest | |||
POST | /api/v1/products | Create Product | ProductCreateRequest | |||
GET | /api/v1/products/{productId} | Get Product By Id | ProductId | |||
GET | /api/v1/products | Get Products | ProductPagingRequest | |||
PUT | /api/v1/products/{productId} | Update Product By Id | ProductUpdateRequest | ProductId | ||
DELETE | /api/v1/products/{productId} | Delete Product By Id | ProductId | |||
- Java 17
- Spring Boot 3.0
- Lombok
- Maven
- Junit5
- Mockito
- Integration Tests
- Docker
- Docker Compose
DATABASE_USERNAME={DATABASE_USERNAME}
DATABASE_PASSWORD={DATABASE_PASSWORD}
- Maven or Docker
The application can be built and run by the Docker
engine. The Dockerfile
has multistage build, so you don;t need to build and run separately.
Follow directions shown below in order to build and run the application with Docker Compose file;
$ cd springsecurity
$ docker-compose up -d
If you change anything in the project and run it on Docker, you can also use this command shown below
$ cd springsecurity
$ docker-compose up --build
To build and run the application with Maven
, please follow the directions shown below;
$ cd springsecurity
$ mvn clean install
$ mvn spring-boot:run