一、说明
潦草概括,后期修改
主要写 POST 的请求方式
1. 什么是http接口?
http是网络上数据传输所使用到的一种通信协议,按照这个协议创建的可被访问的接口就是:http 接口。
2. 这是一个什么过程?
通过http协议的格式,去访问别人系统的接口,即通过相应的地址,去调用方法。
例如:http://127.0.0.1:80/test/testMethod
这是调用自己本机,启动好服务器的接口。
127.0.0.1是地址, 80是设置的访问端口, test是系统名称, testMethod是调用的接口,
总的来说test/testMethod就是调用的路径。
3. 接口内容要写什么东西,别人调用我写的接口后,我要干嘛?
接口内容要写啥:按照需求写对应的东西。
1、调用接口时,是否带有参数;有,对参数进行处理;无,一般就返回数据给对方。
二、类
一般使用到的类如下:
// ......
import java.io.BufferedReader;// 缓冲
import java.io.IOException;// 异常
import java.io.InputStreamReader;// 字节流转字符流读取
import java.io.OutputStream;// 输出流
import java.net.HttpURLConnection;// 支持HTTP特定功能的URLConnection
import java.net.URL;// 地址
三、流程
大概流程如下:
1、接口地址
2、打开连接
3、请求方式
4、通用请求属性
5、连接
6、设置输出
7、设置读入
8、输出流
9、刷新缓冲,关闭流
10、输入流
11、读取
12、结果
13、断开连接
四、代码
代码示例:
粗略的代码
public static void main(String[] args) throws IOException {
HttpURLConnection conn = null;// http特定功能类
OutputStream out = null;// 输出流
URL url = null;
try {
url = new URL("http://127.0.0.1:80/service/路径");// 地址
conn = (HttpURLConnection) url.openConnection();// 打开连接
conn.setRequestMethod("POST");// 设置请求方式
conn.setRequestProperty("Content-Type","application/json");// 设置通用属性
conn.setDoOutput(true);// 设置输出
conn.setDoInput(true);// 设置读入
conn.connect();// 连接
out = conn.getOutputStream();// 获取输出流
JSONObject data=new JSONObject();// 参数
data.put("A",0);
data.put("B","0001");
data.put("C","1005");
System.out.println(data.toString()); // 查看参数
out.write(data.toString().getBytes("utf-8"));
out.flush();// 刷新缓存
out.close();// 关闭流
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
String line = "";// 每一次读取
String result = "";// 读取的结果集
while ((line = in.readLine()) != null) {
result = line + "\n" + result;
}
in.close();// 断开连接
System.out.println(result);// 输出结果
} catch (Exception e) {
Logger.error(e.getMessage(), e);// 日志信息(需要提前定义)
e.printStackTrace();
}
}