I have a display table in my jsp. In this table one column is clickable and clicking this sends 2 request parameters (ReasonsText and account)to my spring controller.
And i am creating links using Decoratros.
But there could be cases when first request paramter(reasonsText) can be extra large.It fails in that case .Is there any alternative to that?
I tried finding something in my database tables which i could use in place of reasonsText(like reason ID) but i use group by on reasonsText so i couldnot use id.
Remember that request URL with parameters have a length limitation. Typically it is better to have that submitted through a form, I would think. So that it ends up in the body of the request instead of as a request parameter. Or you can limit the amount of text the user can type in so that it doesn't reach the request parameter limitation.
A GET sends parameters in the request URL. A POST sends parameters in the body of the request. Because the length of a URL is restricted the length of the parameters is inherently limited. If you need to send a lot of data through a parameter, or even just a lot of parameters, you should prefer using POST as it's less likely to run into the length issues.
@RequestParam works for both. @RequestBody has nothing to do with it.
If you're getting a comma separated value it means that the parameter was included more than once. Look at your form and request URL and ensure you haven't submitted the value in two different places at the same time. If you're expecting multiple values for a parameter then it should probably be a List.