Project used for importing csv file into MySQL database using Apache Commons CSV.
Spring Boot provides some properties with which we can add the exception message, exception class, or even a stack trace as part of the response payload:
server.error.include-message=always
server.error.include-binding-errors=always
server.error.include-stacktrace=on_param
server.error.include-exception=false
Using these Spring Boot server properties in our application.properties
we can alter the error response to some extent.
Note that we’ve set the property include-stacktracee
to on_trace_param
which means that only if we include the trace param in the URL (?trace=true
), we’ll get a stack trace in the response payload:
We might want to keep the value of include-stacktrace
flag to never
, at least in production, as it might reveal the internal workings of our application.
- Spring Web
- Spring Boot
- Spring Data JPA
- Apache Commons CSV
- MySQL Database
- Run the following command in the project root for creating MySQL database in Docker
docker-compose up -d
To set container name as mysql instead of the folder name where docker-compose.yml
file is located, use the following command:
docker-compose -f docker-compose.yml -p "mysql" up
- Database connection url:
jdbc:mysql://localhost:3306/employee-db
All URIs are relative to http://localhost:8080/api/v1
Class | Method | HTTP request | Description |
---|---|---|---|
EmployeeController | importFile | POST /employees/import | Import list of employees file |
EmployeeController | findByEmail | GET /employees/{email} | Get employee by email |
EmployeeController | findAll | GET /employees | Get all employees |
EmployeeController | deleteAll | DELETE /employees | Delete all employees |
Apache Commons CSV User Guide
Hibernate ORM 5.6.10.Final User Guide
Hibernate Natural Ids with @NaturalId
The best way to map a @NaturalId business key with JPA and Hibernate
How to Use Hibernate Natural IDs in Spring Boot
Murat Yıldız
- 0.2
- Various bug fixes and optimizations
- See commit change or See release history
- 0.1
- Initial Release
...
...