Spring: How to import data via CSV
In this article, I want to show you how you can import data via a CSV file in a cloud based application.
This request will be processed by my spring rest controller.
I will get the file via the request parameter with type :
If the file content is not empty, I can extract the bytes and encode them as Base64 encoding using java 8 utility.
In order to do the work outside of a user-facing request, I use the Google Cloud Platform (GCP)
I can pass the encoded content as a task parameter. In parallel to the user facing request, a servlet will do the job with the specified parameter.
Spring controller
In order to upload the CSV file, we will use an HTTP POST request with mime type as
multipart/form-data
.This request will be processed by my spring rest controller.
I will get the file via the request parameter with type :
MultipartFile
.If the file content is not empty, I can extract the bytes and encode them as Base64 encoding using java 8 utility.
In order to do the work outside of a user-facing request, I use the Google Cloud Platform (GCP)
task queues
mechanism.I can pass the encoded content as a task parameter. In parallel to the user facing request, a servlet will do the job with the specified parameter.
Servlet Consumer
The servlet is pretty straightforward :- It extracts the encoded content
- It decode the encoded content
- It loads object list from the CSV content (jackson csv)
- It calls a service with the list of objects
CSV Utility
In the servlet, I've called a utility method for reading the CSV content into an array of Objects.
I use for this purpose the Jackson library.
Happy learning...
Comments
Post a Comment