java.io.IOException Server returned HTTP response code 415

在做項目的時候,需要需要請求另一個項目的接口,需要用到http://去請求,於是就遇到了這個錯誤:java.io.IOException Server returned HTTP response code 415 ,當時自己感覺代碼寫的沒有問題呀(好吧,是我太自戀了),於是上網查了好多資料,總結出以下三點會出現這個錯誤:

1.http://請求的路徑是否一致

2.查看你的 http 請求方法,以及服務器端的設置比如:有一個 強制用 post 請求的接口,你是不是用了非 post 請

3.psot請求參數設置,是不是必須json格式

好了先看下我沒有解決bug之前的代碼,如下:

String url1=propertyResolver.getProperty("custom.cert.url");
String url=url1+"/sendCustomTextMessage";
ReviewResult reviewResult = new ReviewResult();
reviewResult.setOpenid(review.getOpenid());
reviewResult.setContent(content);
//將對像轉成json格式
String json = StringUtil.object2Json(reviewResult);
//請求接口
ApiResult apiResult = ApiResult.create(HttpUtil.post(url,json));
if(apiResult.getInt("status") == 1){
    log.info("------------請求客服消息接口成功------------");
} else {
    log.info("------------請求客服消息接口失敗------------");
}

這時測試的時候報了 java.io.IOException Server returned HTTP response code 415 這個錯誤

下面是我修改之後的代碼:

// 發送客服消息
String url1=propertyResolver.getProperty("custom.cert.url");
String url=url1+"/sendCustomTextMessage";
ReviewResult reviewResult = new ReviewResult();
reviewResult.setOpenid(review.getOpenid());
reviewResult.setContent(content);
//將對像轉成json格式
String json = StringUtil.object2Json(reviewResult);
Map<String, String> header = new HashMap<String, String>();
header.put("Content-Type","application/json");
//請求接口
ApiResult apiResult = ApiResult.create(HttpUtil.post(url,json, header));
if(apiResult.getInt("status") == 1){
    log.info("------------請求客服消息接口成功------------");
} else {
    log.info("------------請求客服消息接口失敗------------");
}
可以看到我添加了"Content-Type","application/json" 這句話,原因就是應爲我沒有明確json格式,加了這麼一段話,於是很順利的就請求了接口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章