An open API service indexing awesome lists of open source software.

https://github.com/maxjdev/rest_api-crud_java-using-spring_web-swagger-spring_data_jpa-h2-maven-lombok-devtools-openfeign

REST API that supports a user CRUD in Java with Spring-Web, stored in the H2 database with Spring Data JPA, Swagger, Lombok, Maven, DevTools and OpenFeign
https://github.com/maxjdev/rest_api-crud_java-using-spring_web-swagger-spring_data_jpa-h2-maven-lombok-devtools-openfeign

crud-api h2-database java lombok maven rest-api spring spring-data-jpa swagger

Last synced: about 1 month ago
JSON representation

REST API that supports a user CRUD in Java with Spring-Web, stored in the H2 database with Spring Data JPA, Swagger, Lombok, Maven, DevTools and OpenFeign

Awesome Lists containing this project

README

          

REST API: CRUD Java using Spring-Web, Swagger, Spring-Data JPA, H2, Maven, Lombok, DevTools and OpenFeign

### Techs Used

![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white)
![Spring](https://img.shields.io/badge/spring-%236DB33F.svg?style=for-the-badge&logo=spring&logoColor=white)
![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge&logo=swagger&logoColor=white)

### Image

[![screencapture-localhost-8080-swagger-ui-index-html-2024-02-18-22-07-34.png](https://i.postimg.cc/bvJ5dnLv/screencapture-localhost-8080-swagger-ui-index-html-2024-02-18-22-07-34.png)](https://postimg.cc/VJxgVdxy)

## Description

This project is a sample application that demonstrates how to create a RESTful API in Java using several popular technologies. It uses the Spring-Web framework to create REST endpoints, Swagger for API documentation, Spring-Data JPA for database interaction, H2 as an in-memory database, Maven for dependency management, Lombok to reduce code verbosity, Spring DevTools to facilitate development, and OpenFeign for integrating external services.

The application implements CRUD (Create, Read, Update, Delete) operations to manipulate resources through the REST API. API documentation is automatically generated by Swagger, making it easier to understand and use the available endpoints. Additionally, a screenshot of the Swagger documentation is provided for quick viewing of the endpoints and their descriptions.

Overall, this project serves as a basic and practical model for starting the development of a Spring-based Java application, providing a solid framework and modern tools for building RESTful APIs.

## How to Start the Project

- **Clone the repository:**
```bash
git clone https://github.com/your-username/repository-name.git
```
- **Open the project directory:**
```bash
cd repository-name
```
- **Install project dependencies:**
```bash
mvn install
```
- **Start:**
```bash
mvn spring-boot:run
```

## Contributing

We welcome and appreciate your contributions to this project! Whether you have suggestions, bug fixes, or new features you'd like to add, please feel free to fork this repository.

### How to Contribute

1. Fork the project.
2. Create a branch for your contribution: `git checkout -b my-contribution`.
3. Make your changes and commit: `git commit -m 'Add my contribution'`.
4. Push to your branch: `git push origin my-contribution`.
5. Open a pull request for review.

## Feedback and Issues

If you have contributions, suggestions, or feedback, feel free to open an issue.