Ответ 1
Установите тип содержимого:
"application/json;charset=UTF-8"
при отправке запроса на отправку в приложении, которое вы используете. Вы можете найти "контент-тип" в заголовке URL-адреса этого приложения.
Я отправляю запрос POST JSON в свое приложение.
POST /CharSetTest/Test HTTP/1.1
Host: localhost:8090
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 1637b92b-5896-4765-63c5-d04ad73ea9f1
{
"SampleRequest": {
"FullName": "関連当"
}
}
Мой потребитель CXF JAXRS определяется ниже.
@POST
@Produces("application/json; charset=UTF-8")
@Consumes("application/json; charset=UTF-8")
public Response testCharSet(@Encoded String jsonBody);
Но японский символ (関 連 当), который я отправил как запрос POST, не закодирован и приводит к некоторым нежелательным символам " é ¢ é å ½½º ",
Использование SoapUI приводит к "?????" персонажи.
Эти нежелательные символы отличаются от клиента к клиенту, откуда я нахожу запрос. Как я могу закодировать свой запрос POST?
Установите тип содержимого:
"application/json;charset=UTF-8"
при отправке запроса на отправку в приложении, которое вы используете. Вы можете найти "контент-тип" в заголовке URL-адреса этого приложения.
Ни один из ответов здесь не работал для меня.
Мой тип контента уже был установлен на "application/json; charset = UTF-8", но настройка accept-encoding
в моем заголовке вызвала ошибку:
accept-encoding
под заголовками:Когда я деактивировал последнюю строчку выше, все работало отлично! Надеюсь, что это помогает кому-то.
Попробуйте это
@RequestMapping(value = "/play", method = RequestMethod.POST, produces={"application/json; charset=UTF-8"})
Установите produces={"application/json; charset=UTF-8"}
, как указано выше, на ваш @RequestMapping