相信很多小白在刚入行的时候都会被要求去写接口,不要慌,我来给各位一个简单的接口调用的demo,以及如果处理接口类的思路
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
public class demo {
public static void main(String[] args) throws Exception {
String url = "地址";
HttpClient client = HttpClientBuilder.create().build();
HttpPost request = new HttpPost(url);
StringEntity params = new StringEntity("{\n" +
" \"ClientCardNo\": \"参数1\",\n" +
" \"ClientName\": \"参数2\",\n" +
" \"PhoneNo\": \"参数3\"\n" +
"}", "UTF-8");
request.addHeader("content-type", "application/json");
request.setEntity(params);
HttpResponse response = client.execute(request);
String responseBody = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(responseBody);
}
}
以上代码为例,这是一个简单的方法调用,url,参数和请求头
1.在调用接口的时候可能会遇到目标的服务器没有开放接口等问题,如ping 10.1.1.111和telnet 10.1.1.111 8080其中ping是检查你是否能够访问的通对方的ip,telnet的ip加端口是你是否能正常访问某端口,如果端口都不通的话你代码肯定也访问不了的,这时候你需要去找运维人员开放端口,有一些较为特殊的公司他们有自己的vpn,这时候你需要问一下是否需要连vpn才能访问.
2.在接口访问的时候,你可以回遇到访问不通,405等情况,你可以先在调用方法前打开工具postman或者apifox等先测试你的目标接口能不能调用的通,如果你ip和端口都通了,这时候还是405往往是你的cookie等“身份”验证不通过的问题,检查下你的身份验证
3.我的代码是一个简单的demo,如果你的请求头很多等情况下也不要慌,在请求头的地方加上就可以,在代码处理接口的时候需要你把请求头信息全都加上才能调通,原则上我们先检查ping,telnet然后在接口调用工具上检查是否能通,然后在写代码