#### Is your feature request related to a problem? Please describe.
No.

#### Describe the solution you'd like
#4734 Changed the entire behavior of the params serializer, breaking using any custom functionality on the consumer side. Add a boolean switch to mimic pre 1.x behavior (default is false) and send the params directly to the encode function

#### Describe alternatives you've considered
Tried working with new solution; it did not pan out well and led to more bugs with our requests

test/typescript/axios.ts
axios.delete<User>('/user')
	.then(handleUserResponse)
	.catch(handleError);
axios.post<User>('/user', { name: 'foo', id: 1 })
	.then(handleUserResponse)
	.catch(handleError);
axios.post<User>('/user', { name: 'foo', id: 1 }, { headers: { 'X-FOO': 'bar' } })
	.then(handleUserResponse)
	.catch(handleError);
axios.put<User>('/user', { name: 'foo', id: 1 })
	.then(handleUserResponse)
	.catch(handleError);
axios.patch<User>('/user', { name: 'foo', id: 1 })
	.then(handleUserResponse)
  .catch(handleError);
const handleStringResponse = (response: string) => {
  console.log(response);
};
axios.get<User, string>('/user?id=12345')
  .then(handleStringResponse)
  .catch(handleError);
axios.get<User, string>('/user', { params: { id: 12345 } })
  .then(handleStringResponse)
  .catch(handleError);
axios.head<User, string>('/user')
  .then(handleStringResponse)
  .catch(handleError);
axios.options<User, string>('/user')
  .then(handleStringResponse)
  .catch(handleError);