前言
一、通過JDK網(wǎng)絡(luò)類Java.net.HttpURLConnection
二、通過apache common封裝好的HttpClient
三、通過Spring的RestTemplate
總結(jié)
前言
今天項目需要接口互相調(diào)用,就看了一下這幾個調(diào)用的方式
一、通過JDK網(wǎng)絡(luò)類Java.net.HttpURLConnection
-
通過java.net包下的原生java.api提供的http請求
-
使用步驟:
-
通過統(tǒng)一的資源定位器(java.net.URL)獲取連接器(java.net.URLConnection)
-
設(shè)置請求參數(shù)
-
發(fā)送請求
-
以輸入流的形式獲取返回參數(shù)
-
關(guān)閉輸入流
-
它是一種比較原始的一種調(diào)用方法,這里把get請求和post請求都統(tǒng)一放在一個方法里面.這里主要想說第二種相對簡單的調(diào)用方法,這里不再贅述
-
二、通過apache common封裝好的HttpClient
- 簡介:httpclient到目前為止最新是5.1版,Http client專為推展而設(shè)計.同事為基本的http協(xié)議提供強大的支持,盡管java.net包提供了通過http訪問的基本功能,但是未提供許多應(yīng)用程序所需要的功能
- 使用步驟:
- 生成一個HttpClient對象并且設(shè)置相應(yīng)的參數(shù)
- 生一個GetMethod對象或者PostMethod并設(shè)置相應(yīng)的參數(shù);
- 用HttpClient生成的對象來執(zhí)行GetMethod生成的Get方法
- 處理狀態(tài)響應(yīng)狀態(tài)碼
- 若響應(yīng)正常,處理HTTP響應(yīng)內(nèi)容
- 釋放連接.無論執(zhí)行方法是否成功.都必須釋放連接.
三、通過Spring的RestTemplate
- RestTemple是前三種方式的集大成者,代碼編寫簡單,目前可以采用調(diào)用第三方接口有:
- delete()在特定的URL上對資源執(zhí)行HTTP DELETE操作
- exchange()在URL上執(zhí)行特定的HTTP方法,返回包含對象的ResponseEntity,這個對象是從響應(yīng)體中映射得到的
- excute()在URL上執(zhí)行特定的HTTP方法,返回一個從響應(yīng)體映射得到的對象
- getForEntity()發(fā)送一個HTTP GET請求,返回ResponseEntity包含了響應(yīng)體所映射的對象
- getForObject()發(fā)送一個HTTP GET請求,返回包含一個對象的返回請求將會映射得到的
- postForObject:返回數(shù)據(jù)到一個URL,返回根據(jù)響應(yīng)體匹配形成的對象
- headForHeaders()發(fā)送http head請求,返回包含特定資源URL的HTTP頭
- optionsForAllow()發(fā)送HTTP OPTIONS請求,返回對特定URL的Allow頭信息
- postForLocation()post數(shù)據(jù)到一個URL,返回新創(chuàng)建資源的URL
- put()PUT資源到指定的URL
總結(jié)
目前項目中大多場景下還是使用HttpClient
參考和學(xué)習(xí)文檔:文章來源:http://www.zghlxwxcb.cn/news/detail-478185.html
Java調(diào)用第三方http接口的常用方式_java調(diào)用http接口_普通網(wǎng)友的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-478185.html
到了這里,關(guān)于Java調(diào)用第三方http接口的常用方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!