Add an option to not include Charset in the final http request ContentType Header #22971
Labels
in: web
Issues in web modules (web, webmvc, webflux, websocket)
type: enhancement
A general enhancement
Milestone
I had the following problem when using
RestTemplate
. TheFormHttpMessageConverter
always adds the charset like thisapplication/x-www-form-urlencoded; charset=UTF-8
. But, the service I was consuming was malfunctioning if I give the charset like this. It was working with justapplication/x-www-form-urlencoded
without the charset parameter. This is an external service, so I do not have control over it.How I solved it
I subclassed
MediaType
,HttpHeaders
andHttpEntity
, so that thegetMediaType
method inFormHttpMessageConverter
do not try to create a newMediaType
with parameters.What I am proposing
I think there should be a property in the
FormHttpMessageConverter
includeCharset
. We do the charset validation as usual, but before writing theContentType
, we check the flag to exclude the parameter.I am happy to give a PR if this sounds okay.
The text was updated successfully, but these errors were encountered: