Problem Statment:
I need to pass a lot of parameters (say around 10) to an API that does some processing and returns some response. This particular API doesn't change the state of the system and guarantees that it will provide the same response all the time.
So, mostly, GET would be the go-to method for building this API. There are few technical and practical challenges in using GET method for this API. Once is there is limit on the number of parameters that can be passed in the URI and other one is, for the API client, it would be hard or confusing to build a request.
If I would go with POST to build this API, we can have client build a request in the form of JSON / XML and submit it in the payload and this way it would be easy to maintain and understand the client side code. But, technically, it's not appropriate to choose POST in this use case as the API doesn't modify the system state nor it's non idempotent.
Please suggest me with your views. Thanks.