易源接口showapi的使用

article/2025/3/20 7:08:01

1.背景介绍:showAPI(易源数据),易源数据通过打破资源壁垒,搭建起数据资源的基础设施,将接口纳入统一的接口池,把多个异构数据源合并到同一根管线上,以统一的访问和控制方式,对外提供统一格式的数据。让开发者可以像搭积木一样通过各种API操纵资源。截至2017年12月,平台已经拥有API接口230个,日调用量2000万,覆盖全网10万+真实消费者,为超过3000+的企业用户提供全域数据服务。


2.要想使用易源APIStore的免费接口,必须先在平台注册账号,可以使用邮箱注册账号。平台网址:https://www.showapi.com/,注册账号后,可以免费使用指定的一些接口,也可以付费使用一些付费接口,实名认证后还可以获得免费接口使用的更多特权。
注册账号之后,会得到一个appid和secret(密钥),如下所示
这里写图片描述
接下来,就可以选择免费的接口并订购了,如下所示
这里写图片描述


3.选择其中一个接口如“历史上的今天”为例,演示使用;点击“历史上的今天”进入详情页面,往下拉可看到下载sdk的超链接如下,把javasdk下载下来,导入eclipse中,此处需注意,导入sdk后会看到项目有红色感叹号报错,是因为缺少了相应的jar包导致,导入相应jar包即可解决,一开始我搞不清楚问题所在,在这里浪费了点时间。
这里写图片描述


4.导入sdk之后便可以来编写测试代码了,前端代码这里就不粘贴了,大家各自发挥,只贴JavaBean的代码和action里的代码如下

package com.test;import java.util.Date;public class thing {private String event;private String date;public String getEvent() {return event;}public void setEvent(String event) {this.event = event;}public String getDate() {return date;}public void setDate(String date) {this.date = date;}
}

action里的代码如下:

package com.test;import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.opensymphony.xwork2.ActionSupport;
import com.show.api.ShowApiRequest;public class test extends ActionSupport{public String find() throws UnsupportedEncodingException  {// TODO Auto-generated method stub//获取前端发来的数据,request方式HttpServletRequest request=ServletActionContext.getRequest();//获取当前网络时间Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("MMdd");String dateString = formatter.format(currentTime);String res=new ShowApiRequest("http://route.showapi.com/119-42","59563","c2cbb049e5c24069aa4c81d6989ec3a5").addTextPara("date",dateString).post();try {JSONObject js=JSONObject.parseObject(res);//System.out.println(js.getJSONObject("showapi_res_body"));//String list=js.getString("list");//System.out.println(list);JSONArray jsarr=js.getJSONObject("showapi_res_body").getJSONArray("list");//循环得出所有对象System.out.println("断点1"+jsarr);List<thing> list=new ArrayList<thing>();for(int i=0;i<jsarr.size();i++) {System.out.println("断点2");JSONObject ao=jsarr.getJSONObject(i);String a=ao.getString("title");String b=ao.getString("year");String c=ao.getString("month");String d=ao.getString("day");String date=b+"-"+c+"-"+d;thing t=new thing();t.setEvent(a);t.setDate(date);System.out.println(a+","+b+"-"+c+"-"+d);list.add(t);}request.setAttribute("list", list);}catch(Exception e) {e.printStackTrace();}return SUCCESS;}}

struts.xml配置如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- 包结构 --><package name="default" namespace="/" extends="struts-default"><!-- 配置action --><action name="yiyuanapi_*" class="com.test.test" method="{1}"><!-- 配置跳转页面 --><result name="success">/index.jsp</result></action>   </package>
</struts>

5.关于上面对接口返回的JSON形式数据的处理,可以使用fastjson工具对其进行反序列化;
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。这里推荐博文:https://www.cnblogs.com/tapt/p/6614127.html
fastjson工具需要用到jar包网盘下载地址:链接:https://pan.baidu.com/s/1SXPHhwl9FRXxCoGHmk5NfA 密码:kqwk


6.最后界面效果如下
这里写图片描述


http://chatgpt.dhexx.cn/article/JF6N6eLN.shtml

相关文章

sql server使用正则表达式

目标 为数据库创建一个正则表达式函数&#xff0c;供查询使用 不建议使用函数&#xff0c;能查询到内存里面用代码解决的就用代码解决&#xff01;&#xff01;&#xff01; 这里的方法仅供参考 操作 1.新建sql server项目 [外链图片转存失败,源站可能有防盗链机制,建议将图…

hive sql正则表达式总结

正则通配符的介绍 ^ 表示开头 $ 表示结尾 . 表示任意字符 * 表示任意多个 1、元字符匹配 (.) 表示匹配除换行符以外的任意字符。 (\w) 表示匹配字母、下划线、数字 &#xff08;\W匹配汉字&#xff09; (\d) 表示匹配数字 (\s) 表示匹配任意的空白符&#xff08;tab 换行…

SQL语法——使用正则查询

MySQL REGEXP运算符 MySQL适应Henry Spencer实现的正则表达式。MySQL允许您使用REGEXP运算符在SQL语句中匹配模式。 以下说明REGEXP了WHERE 子句中运算符 的语法&#xff1a; SELECT column_list FROMtable_name WHEREstring_column REGEXP pattern; 此语句执行 string_colu…

SQL正则表达式进行搜索

基本字符匹配 select prod_name from products where prod_name regexp .000 order by prod_name;分析 这里使用了正则表达式 .000&#xff0c;是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符&#xff0c;因此&#xff0c;1000和2000都匹配且返回。 注意&#xf…

sql利用正则表达式提取数字及固定字符串

需求&#xff1a;最近boss要求做一个专项数据&#xff0c;提取所有数据中涉及酒驾/醉驾但没有正常处理的数据&#xff0c;实现的原理是在描述中查找是否有酒精含量&#xff0c;有就提取出来判断是否酒驾/醉驾&#xff0c;这就涉及到需要用到正则表达式提取数字和字符串。特此做…

在 sql 中使用正则表达式

新建测试表&#xff1a; -- Table: public.table01-- DROP TABLE public.table01;CREATE TABLE IF NOT EXISTS public.table01 (id bigint NOT NULL,name character varying COLLATE pg_catalog."default" NOT NULL,age integer,CONSTRAINT table01_pkey PRIMARY KE…

关于sql的正则表达式

1、关于正则表达式的四个函数&#xff0c;如下 REGEXP_LIKE (匹配) REGEXP_INSTR (包含) REGEXP_REPLACE (替换) REGEXP_SUBSTR (提取) 2、在做正则时&#xff0c;做匹配的可能比较多&#xff0c;因此需要了解匹配字符定位 1&#xff1a;定位元字符 元字符说明^使表达式定位…

SQL 正则表达式

一、正则表达式 like与regexp的区别[1]like匹配整个列[2]。如果被匹配的文本仅在列值中出现&#xff0c;LIKE并不会找到它&#xff0c;相应的行也不会返回&#xff08;当然&#xff0c;使用通配符除外&#xff09;&#xff1b;REGEXP在列值内进行匹配。如果被匹配的匹配的文本…

初识Nginx (一)

初识Nginx (一) Nginx适用于哪些场景 一个web请求从红色箭头进来后&#xff0c;会先经过Nginx&#xff0c;然后进入应用程序&#xff0c;然后再去访问数据库或缓存服务。 那么这里有一个问题&#xff0c;我们的应用服务要求的开发效率很高&#xff0c;所以运行效率是很低的&a…

SQL Server数据库维护计划的实施步骤(转帖)

我公司在组建局域网时&#xff0c;考虑到商业企业的特点&#xff0c;仔细考量了购、销、存三大环节中发生的各种数据及其存储问题后&#xff0c;选定了以Windows 2000 Server为操作系统&#xff0c;SQL Server 2000为数据库平台来搭建局域网的应用系统的软件平台&#xff0c;以…

达梦数据库的使用与维护

本文是从安装达梦库到使用维护的过程。 1.达梦库的安装 1.1收集软硬件信息 我是用的是本地虚拟机&#xff0c;操作系统是中标麒麟6.0&#xff0c;数据库版本为dm7_setup_rh6_64_ent_7.6.0.197_20190917。安装前需确认下机器的cpu&#xff0c;系统版本&#xff0c;空间存储等…

SQL Server 维护计划(数据库备份)

通过维护计划实现数据库完整备份 步骤一 打开数据库——》在资源管理器中找到管理——》找到维护计划——》鼠标右键新建维护计划 步骤二 在资源管器左边——》选择工具箱——》将"备份数据库"任务、"清除维护任务"、"收缩数据库"任务选项——…

【数据库管理】数据库自动维护任务介绍

概述自动维护任务的演变 10g 预定义的维护窗口Maintenance Windows预定义的自动系统任务Predefined Automatic System Tasks 11g 预定义的维护窗口Maintenance Windows预定义自动维护任务Automated Maintenance Tasks 12c 预定义的维护窗口Maintenance Windows预定义自动维护任…

服务器数据库维护需要做哪些,数据库运维究竟需要做什么?

数据库是存放数据、经常是那些高敏感度数据的宝库,因此它也毫无疑问的是合规检查程序的重点区域。几乎所有的企业合规都会对哪些人、能在什么时间、访问什么数据库作出规定,并且需要一个专职人员来管理这些权限。那么,作为管理数据库的专职人员,需要做些什么呢?下面来了解…

创建与维护MySQL数据库

目录 一、创建MySQL数据库 1.链接MySQL 2.查看当前的数据库 3.创建数据库 4.创建数据库时设置字符编码 5.查看和显示数据库的编码方式 6.使用alteer database 数据库名character set utf8; 修改数据库编码 7.进入或切换数据库 8.显示当前数据库 select database(); 二…

第10章 数据库运行维护与优化

10.1数据库运行维护基本工作 一般来说&#xff0c;维护工作主要包括:数据库的转储和恢复&#xff1b;数据库的安全性和完整性控制&#xff1b;数据库性能的监控分析和改进&#xff1b;数据库的重组和重构。 ①数据库的转储与恢复 作为数据库管理员&#xff0c;应该针对各种数…

SQL Server维护计划自动备份数据库

GPS平台、网站建设、软件开发、系统运维&#xff0c;找森大网络科技&#xff01; https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p1841 使用SQL Server 2008的维护计划可以实现自动备份数据库&#xff0c;并自动删除过期备份的功…

mysql数据库维护(mysql学习笔记)

数据库备份&#xff1a; 2.数据库维护&#xff1a; analyze table用来检查表键是否正确&#xff0c;如下&#xff1a; check table 用来针对许多问题对表进行检查。在myisam表上海对索引进行检查。check table支持一系列的用于myisam表的方式&#xff0c;changed检查自最后一次…

Oracle DB 数据库维护

• 管理优化程序统计信息 • 管理自动工作量资料档案库(AWR) • 使用自动数据库诊断监视器(ADDM) • 说明和使用指导框架 • 设置预警阈值 • 使用服务器生成的预警 • 使用自动任务 数据库维护 通过复杂的Oracle DB 基础结构&#xff0c;可以方便地执行预先数据库维护&#xf…