I have a unique situation in which I want to store an array of integers into memory via a POST. I think want to fetch this data later with a GET request.
This may seem strange, and weird, but I do have a use case, and it will only be in memory for a few seconds.
A simple example -- Store the array someArray = [1, 2, 3]; in some sort of in memory storage with a POST, and retrieve it via GET in another function.
I ever had this kind of requirement that first posted main data to controller and then posted some detail data to controller and combine 2 kinds of data and retrieved data from database with these data. I just store the main data in session with
session.setAttribute()
, Spring mvc has a@SessionAttribute
, but after tried dozens of time, I gave up, it's very difficlut to use.Since you will have access to
HttpServletRequest
in your controller, you just have to invokegetSession
method:Now you have access to the Session, so you can store, retrieve and remove data from it using the relevant methods:
HttpSession#setAttribute
HttpSession#getAttribute
HttpSession#removeAttribute
As said in comments, you can also omit getting the session manually and send it as parameter to your method from your
@Controller
. Taken from this answer