POST JSON请求中的字符编码

Vis*_*Vis 10 java rest cxf jax-rs

我正在向我的应用程序发送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": "???"
  }
}
Run Code Online (Sandbox Code Playgroud)

我的CXF JAXRS消费者定义如下.

@POST
@Produces("application/json; charset=UTF-8")
@Consumes("application/json; charset=UTF-8")
public Response testCharSet(@Encoded String jsonBody);
Run Code Online (Sandbox Code Playgroud)

但是我作为POST请求发送的日文字符(关连当)没有编码,导致一些垃圾字符" é¢é£å½äºè "

使用SoapUI导致"?????" 字符.

这个垃圾字符在客户端与客户端之间不同,我点击了请求.我如何编码我的POST请求?

Raj*_*jat 10

将content-type设置为:

"application/json;charset=UTF-8" 
Run Code Online (Sandbox Code Playgroud)

在您正在使用的应用程序中发送post请求时.您可以在该应用程序的URL的标题中找到"content-type".


Mat*_*att 5

这里没有一个答案对我有用。

我的内容类型已经设置为“application/json;charset=UTF-8”,但是accept-encoding我的标题中的设置导致了错误:

禁用accept-encoding标题下的设置:

在此处输入图片说明

当我停用上面的最后一行时,一切都很好!希望能帮助某人。