在預設情況下 CloseableHttpClient 呼叫會使用 StringEntity 來設定字串。
在設定好字串後,我們會發送到遠端 API 上進行執行。
比如說,我們可以先初始化 HttpPost 物件,然後設定 setEntity
HttpPost httpPost = new HttpPost("https://www.ossez.com/posts.json");httpPost.setHeader(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");
下一步是初始化傳送的 JSON 資料內容:
StringEntity postingString = new StringEntity(new Gson().toJson(topicRequest), StandardCharsets.UTF_8);
然後將 JSON 資料內容設定到 HttpPost 實體中
httpPost.setEntity(postingString);
在這裡有一個地方是需要注意的就是在設定 StringEntity 字符集的時候需要使用 UTF_8。
如果你不設定這個引數,預設是使用 ISO-8859-1 字符集的。
很多時候針對中文的環境都會使用到中文,ISO-8859-1 字符集是不能支援中文的,一般來說我們只要確保所有的傳送資料都使用 UTF-8 就可以了。
最新評論