cokewithice08 发表于 2021-11-19 15:56

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)就可以获取数据然后去遍历存储在数据库中就好了

明次 发表于 2021-11-19 17:17

有头没尾,一脸疑惑

Haven1 发表于 2021-11-19 17:33

看起来怪怪的

sunxing_1 发表于 2021-11-19 18:00

openfeign   okhttp3

cokewithice08 发表于 2021-11-19 18:04

明次 发表于 2021-11-19 17:17
有头没尾,一脸疑惑

额。。。就是主要代码的展示吧,剩下的只需要去调用那部分的代码就可以了

cokewithice08 发表于 2021-11-19 18:05

Haven1 发表于 2021-11-19 17:33
看起来怪怪的

可以成功调用接口的内容,并把内容写进数据库的,写进数据库的部分代码没有展示
页: [1]
查看完整版本: java调用别人的接口信息