日常我们的工作可能会调用别的项目接口来获取接口的信息
下面只是调用接口的一个例子
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)就可以获取数据然后去遍历存储在数据库中就好了
|