java调用别人的接口信息
日常我们的工作可能会调用别的项目接口来获取接口的信息下面只是调用接口的一个例子
public class apiUtil{
// api
private final static String URL ="https://api.com/test";
// 环境
private final static String PROFILE = System.getProperty("spring.profile.active,"dev");
static{
// 本地开发使用
String localAppId ="1232456-456456-123132";
String localAppKey ="465-132-123-132";
// 正式服务器使用
String prodAppId = "1111-222-333-555-666"
String prodAppKey"222-333-5555-6666";
if( PROFILE.contains("dev")){
APP_ID = localAppId;
APP_KEY = localAppKey;
}else{
APP_ID = prodAppId;
APP_KEY = prodAppKey
}
}
private final static String APP_ID;
private final static String APP_KEY;
//
public static String getInfo(String url){
Request request = Request.create(URL + url ,Request.METHOD.GET);
Header header = Header.create().set("appid",APP_ID).set("appkey:,APP_KEY);
request.setHeader(header);
Response response = Sender.create(request).setTimeout(120*1000).setConnTimeout(120*1000).send();
try{
String content = response.getContent();
return content;
}catch(JsonException e){
log.error("获取的内容不是String数据格式“);
throw e;
}
}
}
获取接口的信息并把他存在list中
public List<TEST> instroduction(String url){
// 获取接口数据
String info = ApiUtil.getInfo(url);
// 将数据转成json对象、
JSONObject jsonObject = JSONObject.parseObject(info);
// result 是你拿到json数据中的一个key
// 获取result下的数据、我的result是一个数组对象
JSONArray array = jsonObject.getJSONArray("Result")
// 定义一个实体类去储存数据、也可以自己用map对象去存数据
List<TEST> test = Json.parseArray(array.toString(),TEST.class);
return test;
}
接下来你只需要去调用上面的instroduction(url)就可以获取数据然后去遍历存储在数据库中就好了
有头没尾,一脸疑惑 看起来怪怪的 openfeign okhttp3 明次 发表于 2021-11-19 17:17
有头没尾,一脸疑惑
额。。。就是主要代码的展示吧,剩下的只需要去调用那部分的代码就可以了 Haven1 发表于 2021-11-19 17:33
看起来怪怪的
可以成功调用接口的内容,并把内容写进数据库的,写进数据库的部分代码没有展示
页:
[1]