如果我已经设置了StringEntity的内容类型,是否需要添加Content-Type标头?

时间:2017-06-09 07:47:19

标签: apache-httpclient-4.x

我需要对正文中包含UTF-8 JSON的服务器执行POST请求:

public HttpRequest createRequest() {
    HttpPost req = new HttpPost(API_URL);
    StringEntity stringEntity = new StringEntity(notification.toString(), Charset.forName("UTF-8"));         
    stringEntity.setContentType(ContentType.APPLICATION_JSON.toString());
    req.setEntity(stringEntity);
    return req;
}

stringEntity的内容类型和字符集是否自动添加到请求中?

或者我是否必须将标头添加到req

req.addHeader("Content-Type", "application/json; charset=UTF-8");

1 个答案:

答案 0 :(得分:1)

不,你没有。内容元数据标头由RequestContent协议拦截器自动生成。