-
2017-05-11 15:38:54
主要功能接口汇总
0. 全局说明:
0.1 接口 1-7 后端需做鉴权处理,若用户未登录则返回:
{ error: 'Authentication Error' }
0.2 接口 8-12,16 为公司基本信息接口,13-15 为公司详情页面-产品接口
1. 获取个人页 feed 流
1.1 method: GET
1.2 path: /api/feed-messages/:feedType/:tagId/:page
1.3 options:
1.3.1
feedType
-> feed 流的类型(导航栏的分类名的拼音),枚举范围:[‘quanbuzixun’, ‘hangyebaogao’, ‘meiritourongzi’, ‘tianshixiangmubaodao’, ‘xinchuangxiangmu’, ‘gaoguanbiandong’, ‘chuangyezhezhuizong’, ‘touhouzhuizong’, ‘touzijigoudongxiang’, ‘touzirendongxiang’, ‘hangyedongxiang’]1.3.2
tagId
-> 分类下的标签 id,默认值:0
(表示不进行过滤),用户点击具体标签时切换取值1.3.3
page
-> 当前 feed流 的分页页码,默认值:1
或不填,用户点击加载更多
按钮时切换取值1.4 response:
type: json
example:[ { template: 'news', content: { type: '天使项目报道', cover: 'http://img3.cyzone.cn/uploadfile/2017/0417/20170417104548317.jpg', target: 'http://www.cyzone.cn/a/20170417/309946.html', title: 'OFO高颜值新车,骑上秒变台湾偶像剧画风,配套“丢一台赔一台”', summary: '自创立以来,牛电科技引入了众多汽车级的配置。从U1系列开始,小牛全面使用自主设计的机,搭配汽车级无钥匙启动功能,用户使用遥控器便可远程解锁……', tags: ['共享', '腾讯系', '资源重整'], date: '5月20日 17:22', source: '36Kr', concerned: false } }, { template: 'startup', content: { type: '新创产品', cover: 'http://img2.ctoutiao.com/uploads/2017/03/02/06ef4c5b36ea6cf933864416aa8abee2.jpg@!160x100', target: 'http://www.ishumei.com/', title: '数美科技', related_issues: ['张一鸣'], summary: '阅后即焚,为了让你的每一条消息都显得珍贵。独特的短视频交流,同样的时间,你可以表达更多信息。在 Ubi,你可以和更多的外国友人进行互动。', category: '文化娱乐 > 媒体及阅读', date: '12月13日', praised: false, praised_by: [ { id: 15623, name: '张一博', avatar: null }, { id: 26345, name: '李至婷', avatar: 'http://p1.qqyou.com/touxiang/UploadPic/2015-6/19/2015061914565050137.jpeg' }, { id: 33254, name: '王彦武', avatar: 'https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQbHJFnSXFf2QhmqGDviRygpHUSmZIvRZpU2Kvp3WK1W9MheWLD' } ] } }, { template: 'report', content: { type: '行业报告', cover: 'http://img.mp.itc.cn/upload/20170310/2c9d1d62ed3b4ded837432c53f9e8300_th.jpg', target: 'http://mt.sohu.com/20170310/n482906790.shtml', title: '极光大数据:app风云榜2月app榜单', summary: '新年伊始,2月的app风云榜依然是风起云涌。共享单车领域方兴未艾,短视频平台作为下一个风口已经蓄势待发。摩拜与ofo谁能领跑共享单车?快手、美拍、小咖秀谁是短视频平台的未来?国内领先的移动大数据服务商极光大数据推出《app风云榜——2月app榜单》,从市场渗透率、日活跃用户、新增用户数、7天留存率等关键指标为您解读国内app的现状。', tags: ['app', '大数据'], date: '4月8日 14:20', concerned: true } }, { template: 'moment', content: { type: '创业者追踪', user: { id: 45869, name: '范赵尹', avatar: 'https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRfaU8Wz8rdPWqd881rKCg6te3KEP8Ym3sPlU8Fo8EH-WjpFsAIvA', }, content: { html_cotent: '<div class="WB_text W_f14" node-type="feed_list_content" action-type="feed_list_ad" style="display: none;">《这是莫迪的时代,这是一个好时代吗? | 毛克疾》 国大党通过配额优惠、财政补贴等扶持包括贱民在内的“列表种姓”、包括部落民在内的“列表部落”和包括大量中低种姓的“其他落后种姓”。这导致印度中产阶级和中上层种姓在考学、招工中遭遇了严重的逆向歧视,他们大规模转投主张取消优惠、平等竞争的 ...</div>', date: '4月23日 22:03', source: '微博', status: { read: 5200, loved: 136, shared: 36 } }, concerned: true } }, { template: 'activity', content: { type: '投资人动向', cover: 'http://www.huodongshu.com/template/0011406030900/images/head_pic.png', target: 'http://www.huodongshu.com/event/10042760/?is_easy=2', title: '【创业导引课】唐大牛丨创业是追逐机会还是创造价值,了解创业者是技术也是艺术', related_issues: ['唐大牛', '华创资本'], date: { start: '2017.03.15 19:10', end: '2017.03.15 20:55' }, address: '北京市海淀区清华大学第六教学楼A区316', host: '水木清华校友基金', source: '活动树', concerned: false } }, { template: 'recruitment', content: { type: '投后追踪', cover: '', target: 'https://www.lagou.com/', title: '产品经理', company: '西安数美软件科技有限公司', category: '文化娱乐 > 媒体及阅读', salary: '10-24K', area: '西安', degree: '本科', seniority: '3-5年经验', date: '4月8日 17:22', concerned: true } } ]
1.5 其他说明
1.5.1 feedType 与 template 对照关系
行业报告 - report 每日投融资 - news 天使醒目报道 - news 新创项目 - startup 高管变动 - news/moment 创业者追踪 - news/moment/activity 投后追踪 - news/activity/recruitment 投资机构动向 - news 投资人动向 - news/moment/activity 行业动向 - news/report
2. 获取个人页左边栏导航菜单
2.1 method: GET
2.2 path: /api/personal-menu/
2.3 options: 无
2.4 response:
type: json
example:{ "touqian": [ { "type": "hangyebaogao", "text": "行业报告", "child": [ { "id": "15265", "text": "真格基金" } ] }, { "type": "meiritourongzi", "text": "每日投融资", "child": [ { "id": "15265", "text": "真格基金" } ] }, { "type": "tianshixiangmubaodao", "text": "天使项目报道", "child": [ { "id": "15265", "text": "真格基金" } ] }, { "type": "xinchuangxiangmu", "text": "新创项目", "child": [ { "id": "15265", "text": "真格基金" } ] }, { "type": "gaoguanbiandong", "text": "高管变动", "child": [ { "id": "15265", "text": "真格基金" } ] } ], "touhou": [ { "type": "chuangyezhezhuizong", "text": "创业者追踪", "child": [ { "id": "15265", "text": "真格基金" }, { "id": "456235", "text": "创新工场" } ] }, { "type": "touhouzhuizong", "text": "投后追踪", "child": [ { "id": "15265", "text": "真格基金" }, { "id": "456235", "text": "创新工场" } ] }, { "type": "touzijigoudongxiang", "text": "投资机构动向", "child": [ { "id": "15265", "text": "真格基金" }, { "id": "456235", "text": "创新工场" } ] }, { "type": "touzirendongxiang", "text": "投资人动向", "child": [ { "id": "15265", "text": "真格基金" }, { "id": "16542", "text": "IDG" }, { "id": "26345", "text": "腾讯创投" }, { "id": "21367", "text": "创新工场" } ] }, { "type": "hangyedongxiang", "text": "行业动向", "child": [ { "id": "15265", "text": "真格基金" }, { "id": "16542", "text": "IDG" }, { "id": "26345", "text": "腾讯创投" }, { "id": "21367", "text": "创新工场" }, { "id": "15265", "text": "真格基金" }, { "id": "16542", "text": "IDG" }, { "id": "26345", "text": "腾讯创投" }, { "id": "21367", "text": "创新工场" }, { "id": "15265", "text": "真格基金" }, { "id": "16542", "text": "IDG" }, { "id": "26345", "text": "腾讯创投" }, { "id": "21367", "text": "创新工场" } ] } ] }
2.5 其他说明
2.5.1 相关名词释义:
touqian - 投前(包括 行业报告、每日投融资、天使项目报道、新创项目、高管变动 5个分类)
touhou - 投后(包括 创业者追踪、投后追踪、投资机构动向、投资人动向、行业动向 5个分类)
type - 与接口 1 中 feedType 对应,若 feedType 为 quanbuzixun(全部资讯),则接口 2 中返回的数据可能包含多种 type
child - 分类下的标签,用户通过点击标签可以过滤该分类feed流的内容(实质上是改变参数重新调用接口 1 加载 feed流)3. 获取快讯内容列表
3.1 method: GET
3.2 path: /api/humming-flash
3.3 options 无
3.4 response:
type: json
example:[ { title: '乐视全球投融资主管郑孝明离职或加盟京东', pub_time: '5月10日 22:33', detail: '4月17日消息,刚刚张琨在自己的微信公众号中宣布就任春雨医生CEO。 业内人士介绍,张琨琨在自己的微信公众号中宣布就任春雨医生CEO。 业内人士介绍,张琨' }, { title: '春雨医生空降新CEO,系前华润医疗高管', pub_time: '30分钟前', detail: '4月17日消息,刚刚张琨在自己的微信公众号中宣布就任春雨医生CEO。 业内人士介绍,张琨做医疗信息化起家,参与“中华医疗网”的创 立,曾任华润医疗集团信管部总经理。此前,春雨医生创始人张锐去世后,CEO由曾柏毅 与李光辉联席担任。' }, { title: '新消费50强3月榜:ofo摩拜交替领先单车业', pub_time: '2小时前', detail: '4月17日消息,刚刚张琨在自己的微信公众号中宣布就任春雨医生CEO。 业内人士介绍,张琨己的微信公众号中宣布就任春雨医生CEO。 业内人士介绍,张琨做医疗信息化起家,参与' }, { title: '抄袭小米等国产品牌,山寨机盘踞三四线城市', pub_time: '半小时内', detail: '4月17日消息,刚刚张琨在自己的微信公众号中宣布就任春雨医生CEO。 业内人士介绍,张琨己的微信公众号中宣布就任春雨医生CEO。 业内人士介绍,张琨做医疗信息化起家,参与' } ]
3.5 其他说明
3.5.1 pub_time时间的格式:
timestamp <= 30601000 -> ‘半小时内’
30601000 < timestamp <= 2460601000 -> ‘N小时前’
2460601000 < timestamp -> ‘MM月DD日 Hour:Min’4. 获取每日项目推荐内容列表
4.1 method: GET
4.2 path: /api/startup-daily
4.3 options 无
4.4 response:
type: json
example:[ { name: '随手攒', slogan: '让攒钱理财成为一种习惯', icon: 'https://media.ifanrusercontent.com/media/user_files/lime/87/e6/87e62c3256f6efc2a1e50b6dc632e6035b1e6256-ae8f0e1ac318d1f0123dcc40d1aedb45d0cc8b0d.jpg', link: 'http://mindstore.io/mind/15740/' }, { name: '点点技师', slogan: '一个汽车行业垂直人才服务平台', icon: 'https://media.ifanrusercontent.com/media/user_files/lime/2d/e6/2de6ca7bf0ba8d4b2dcc4d7de1a0a8093f2b24f6-4f19ffda09f727fdc1d21b0d60dc36e91c951de5.jpg', link: 'http://mindstore.io/mind/15731/' }, { name: 'PPT“一键”美化神器', slogan: '智能辅助设计,让PPT更美化', icon: 'https://media.ifanrusercontent.com/media/user_files/lime/f0/f4/f0f4105ff3dee0829f6a520265bc3f2dae4a8698-35c549e0061cf7c621719b5819e6a6875bc6e44b.jpg', link: 'http://mindstore.io/mind/15730/' }, { name: 'ThinkSNS', slogan: '为企业提供社交系统、轻博客系统、SNS社交网络平台解决方案、软件产品搭建、社交源代码下载、系统维护服务', icon: 'https://media.ifanrusercontent.com/media/user_files/lime/15/d9/15d930bc77d8b25a8c9f7abd091a8019cafabfe7-6f07e9834c48800306ddc78b2a10d69303d3e7b9.jpg', link: 'http://mindstore.io/mind/15732/' }, { name: '报销吧', slogan: '一款基于 Saas 模式的企业级差旅和费用管理移动报销软件', icon: null, link: 'http://mindstore.io/mind/15719/' } ]
4.5 其他说明
无
5. 监听 feed流 数据更新(socket API)
5.1 method: socket
5.2 path: /api/feed-latest/:feedType
5.3 options:
5.3.1
feedType
-> feed流的类型,参见接口 15.4 response:
type: json
example:{ new_msg: 24 }
5.5 其他说明
5.5.1 接口返回的
new_msg
字段表示当前数据流最近新入库了多少条资讯,以提示用户点击加载按钮加载最新的数据(实质上就是页面重新调用接口 1 )6. 获取引导页列表数据
6.1 method: GET
6.2 path: /api/customization-source
6.3 options:
无
###6.4 response:
type: json
example:{ "touqian": [ { "type": "hangyebaogao", "text": "行业报告", "child": [ { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" } ] }, { "type": "meiritourongzi", "text": "每日投融资", "child": [ { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" } ] }, { "type": "tianshixiangmubaodao", "text": "天使项目报道", "child": [ { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" } ] }, { "type": "xinchuangxiangmu", "text": "新创项目", "child": [ { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" }, { "id": 4768, "text": "旅游B2B" }, { "id": 3254, "text": "体育俱乐部" }, { "id": 5788, "text": "出海" }, { "id": 4362, "text": "平行进口车" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2641, "text": "电商" }, { "id": 1326, "text": "互联网+" }, { "id": 1841, "text": "农业金融" }, { "id": 5201, "text": "农业旅游" } ] }, { "type": "gaoguanbiandong", "text": "高管变动", "child": [ { "id": 10265, "text": "阿里巴巴" }, { "id": 12645, "text": "腾讯" }, { "id": 14156, "text": "百度" }, { "id": 26430, "text": "网易" }, { "id": 18542, "text": "新浪" }, { "id": 20641, "text": "搜狐" } ] } ], "touhou": [ { "type": "chuangyezhezhuizong", "text": "创业者追踪", "child": [ { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' }, { "id": 52634, "name": '张一鸣', "avatar": 'http://img3.cyzone.cn/uploadfile/2015/0123/20150123102145561.png' }, { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' }, { "id": 52634, "name": '张一鸣', "avatar": 'http://img3.cyzone.cn/uploadfile/2015/0123/20150123102145561.png' }, { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' }, { "id": 52634, "name": '张一鸣', "avatar": 'http://img3.cyzone.cn/uploadfile/2015/0123/20150123102145561.png' }, { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' }, { "id": 52634, "name": '张一鸣', "avatar": 'http://img3.cyzone.cn/uploadfile/2015/0123/20150123102145561.png' }, { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' }, { "id": 52634, "name": '张一鸣', "avatar": 'http://img3.cyzone.cn/uploadfile/2015/0123/20150123102145561.png' }, { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' }, { "id": 52634, "name": '张一鸣', "avatar": 'http://img3.cyzone.cn/uploadfile/2015/0123/20150123102145561.png' } ] }, { "type": "touhouzhuizong", "text": "投后追踪", "child": [ { "id": 26543, "name": "数美科技", "logo": "http://img2.ctoutiao.com/uploads/2017/03/02/06ef4c5b36ea6cf933864416aa8abee2.jpg@!160x100" }, { "id": 36241, "name": "滴滴出行", "logo": "http://www.xiaojukeji.com/images/icon02.png" }, { "id": 62534, "name": "点点技师", "logo": "https://media.ifanrusercontent.com/media/user_files/lime/2d/e6/2de6ca7bf0ba8d4b2dcc4d7de1a0a8093f2b24f6-4f19ffda09f727fdc1d21b0d60dc36e91c951de5.jpg" }, { "id": 52634, "name": "ThinkSNS", "logo": "https://media.ifanrusercontent.com/media/user_files/lime/15/d9/15d930bc77d8b25a8c9f7abd091a8019cafabfe7-6f07e9834c48800306ddc78b2a10d69303d3e7b9.jpg" }, { "id": 35264, "name": "报销吧", "logo": null } ] }, { "type": "touzijigoudongxiang", "text": "投资机构动向", "child": [ { "id": 26543, "name": "数美科技", "logo": "http://img2.ctoutiao.com/uploads/2017/03/02/06ef4c5b36ea6cf933864416aa8abee2.jpg@!160x100" }, { "id": 36241, "name": "滴滴出行", "logo": "http://www.xiaojukeji.com/images/icon02.png" }, { "id": 62534, "name": "点点技师", "logo": "https://media.ifanrusercontent.com/media/user_files/lime/2d/e6/2de6ca7bf0ba8d4b2dcc4d7de1a0a8093f2b24f6-4f19ffda09f727fdc1d21b0d60dc36e91c951de5.jpg" }, { "id": 52634, "name": "ThinkSNS", "logo": "https://media.ifanrusercontent.com/media/user_files/lime/15/d9/15d930bc77d8b25a8c9f7abd091a8019cafabfe7-6f07e9834c48800306ddc78b2a10d69303d3e7b9.jpg" }, { "id": 35264, "name": "报销吧", "logo": null } ] }, { "type": "touzirendongxiang", "text": "投资人动向", "child": [ { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' }, { "id": 52634, "name": '张一鸣', "avatar": 'http://img3.cyzone.cn/uploadfile/2015/0123/20150123102145561.png' }, { "id": 26345, "name": '张一鸣', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 36256, "name": '刘楠', "avatar": 'https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=b7df648c6b81800a7ae8815cd05c589f/b21c8701a18b87d641f8361c000828381f30fd7f.jpg' }, { "id": 62431, "name": '丁磊', "avatar": 'http://www.zhengfawang.com/zb_users/upload/2017/02/201702171487303826845051.jpg' } ] }, { "type": "hangyedongxiang", "text": "行业动向", "child": [ { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" }, { "id": 2365, "text": "消费升级" }, { "id": 3624, "text": "大数据技术" } ] } ] }
6.5 其他说明
相关名词释义参见接口 1
7. 提交用户的定制结果(参见引导页)
7.1 method: POST
7.2 path: /api/submit-customization
7.3 options:
7.3.1 数据用例:
[ { type: 'hangyebaogao', selected_id: [15263, 26354, 21542, 18245, 62341], customized: ['VR', 'AR', 'AI', '仓储物流'] }, { type: 'meiritourongzi', selected_id: [15263, 26354, 21542, 18245, 62341], customized: ['电子金融', '区块链', '汽车电商'] }, { type: 'tianshixiangmubaodao', selected_id: [15263, 26354, 21542, 18245, 62341], customized: ['数据', '版权'] }, { type: 'xinchuangxiangmu', selected_id: [15263, 26354, 21542, 18245, 62341], customized: ['企创宝', '更值'] }, { type: 'gaoguanbiandong', selected_id: [15263, 26354, 21542, 18245, 62341], customized: ['张一鸣', '吴恩达', '张朝阳', '贾跃亭'] }, { type: 'chuangyezhezhuizong', selected_id: [85236, 26354, 21542, 18245, 62341], customized: ['李彤', '张一博', '张阿群'] }, { type: 'touhouzhuizong', selected_id: [26453, 26354, 21542, 18245, 62341], customized: ['徐小平', '程维', '马化腾'] }, { type: 'touzijigoudongxiang', selected_id: [52641, 26354, 21542, 18245, 62341], customized: ['险峰投资', '红杉资本', '领英创投', '阿里巴巴'] }, { type: 'touzirendongxiang', selected_id: [26378, 26354, 21542, 48564, 62341], customized: ['徐小平', '程维', '马化腾'] }, { type: 'hangyedongxiang', selected_id: [63254, 26354, 63245, 18956, 51264], customized: ['版权', '产品设计', '智能制造', '电子金融'] } ]
8. 获取公司主页顶部信息
8.1 method: GET
8.2 path: /api/home-top/:companyId
8.3 options:
8.4 response:
type: json
example:{ id : 32967, name : '今日头条', img : 'http://oc3brgiv8.bkt.clouddn.com/FrYMpicbBOlXCKBA9kYu-bR3ehTg?imageMogr2/thumbnail/150x150', title : '今日头条 - 热点新闻资讯、娱乐视频', num : 1233, website :'https://www.baidu.com/', tags : '阅读_媒体_微软_自媒体_商务交易', from : '文化娱乐_媒体及阅读_媒体' }
9. 获取页面内容:基本信息
9.1 method: GET
9.2 path: /api/home-basic/:companyId
9.3 response:
type: json
example:{ id : 32967, name : '北京跳动字节有限责任公司', address : '上海市人民法院对面十字巷', time : '2017-3-12', legal : '张立冬', number : '100-200人', Valuation : '1001亿', infos : '今日头条是一个基于兴趣的、社交化的手机资讯阅读应用,让用户便捷地看到感兴趣和热门的资讯,并和朋友互动,发表对世界的看法。北京字节跳动科技有限公司旗下产品。' }
10. 获取页面内容:新闻动态
10.1 method: GET
10.2 path: /api/home-news-messages/:companyId
10.3 options:
companyId
-> 公司 id10.4 response:
type: json
example:[ { id: 1, title: '短视频的商业机会在哪里? —— 专访今日头条头条号总监吴达', icon: 'http://www.itjuzi.com/assets/front//images/img/icon-weibo.png', time: '2017-12-6', href: 'https://www.hao123.com/' }, { id:2, title: '短视频的商业机会在哪里? —— 专访今日头条头条号总监吴达', icon: 'http://www.itjuzi.com/assets/front//images/img/icon-weibo.png', time: '2017-12-6', href: 'https://www.hao123.com/' }, { id:3, title: '短视频的商业机会在哪里? —— 专访今日头条头条号总监吴达', icon: 'http://www.itjuzi.com/assets/front//images/img/icon-weibo.png', time: '2017-12-6', href: 'https://www.hao123.com/' } ]
11.获取页面内容:基本信息
11.1 method: GET
11.2 path: /api/home-business/:companyId
11.3 response:
type: json
example:{ id: 3276, creditCode: '91110108717743469K', //统一社会信用代码 comname : '山水集团', //企业名称: type : '全名所有制', //类型 legal : '尚冰', //法人代表 registerM : '100亿人民币', //注册资本 setTime : '2014-4-1', //成立时间 termFrom : '2015-1-1', //经营期限自 termTo : '2017-12-2', //经营期限至 organ : '北京市工商行政管理局', //登记机关 approval : '2014-12-1', //核准日期 state : '开业', //登记状态 residence : '北京市海淀区上地十街10号百度大厦三层', //住所下面是经营范围 range : '开发、生产计算机软件;提供相关技术咨询、技术服务、技术培训;承接计算机网络系统工程;销售自产产品;货物进出口、技术进出口、代理进出口;设计、制作、代理、发布广告。(依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动。)', shareholder : [ //股东信息 { name : '张一鸣', //名字 stake : '50%', //持股比例 investment : '123.12', //认缴出资额 time: '2016-12-4', //认缴出资日期 type: '自然人股东' //自然人股东 }, { name : '小飞', stake : '30%', investment : '321', time: '1234.12.4', type: '合伙人' }, { name : '张大仙', stake : '20%', investment : '123', time: '2016-12-4', type: '创始人' } ], keyPersonnel : [ //主要人员 { name : '马上风', //名字 job : '经理' //职位 }, { name : '胡汉三', job : '董事长' }, { name : '小马', job : '创始人' }, { name : '罗瓯', job : '监视' } ], changeRecord : [ //变更记录 经营范围 { time : '2016-12-4', //(时间,变更前, 变更后) beforeChange : '技术开发、技术推广、技术转让、技术咨询、技术服务、技术培训;计算机系统服务;数据处理;基础软件服务、应用软件服务、设计、制作、代理、发布广告。依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动', afterChang : 'E值在1.5以上的云计算数据中心除外);基础软件服务、应用软件服务;设计、制作、代理、发布广告。企业依法自主选择经营项目,开展经营活动;从事互联网文化活动、第二类增值电信业务中的信息服务业务(仅限互联网信息服务)以及依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。' }, { time : '2016-12-4', beforeChange : '技术开发、技术推广、技术转让、技术咨询、技术服务、技术培训;计算机系统服务;数据处理;基础软件服务、应用软件服务、设计、制作、代理、发布广告。依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动', afterChang : 'E值在1.5以项目的经营活动。' }, { time : '2016-12-4', beforeChange : '、技术转让、技术咨询、技术服务、技术培训;计算机系统服务;数据处理;基础软件服务、应用软件服务、设计、制作、代理、发布广告。依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动', afterChang : 'E值在1.5以上的云计算数据中心除外);基础、应用软件服务;设计、制作、代理、发布广告。企业依法自主选择经营项目,开展经营活动;从事互联网文化活动、第二类增值电信业务中的信息服务业务(仅限互联网信息服务)以及依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。' } ], investor : [ //投资人 { time : '2016-12-4', beforeChange : '张一鸣,自然人股东; 叶薇薇,自然人股东; 王振东,自然人股东;', afterChang : '张一鸣,自然人股东; 叶薇薇,自然人股东;' }, { time : '2016-12-4', beforeChange : '张一鸣,自然人股东; 叶薇薇,自然人股东; 王振东,自然人股东;', afterChang : '张一鸣,自然人股东; 叶薇薇,自然人股东;' }, { time : '2016-12-4', beforeChange : '张一鸣,自然人股东; 叶薇薇,自然人股东; 王振东,自然人股东;', afterChang : '张一鸣,自然人股东; 叶薇薇,自然人股东;' } ], legalP : [ //法定代表人 { time : '2016-12-4', beforeChange : '张一鸣', afterChang : '叶薇薇' }, { time : '2016-12-4', beforeChange : '张一鸣', afterChang : '叶薇薇' }, { time : '2016-12-4', beforeChange : '张一鸣', afterChang : '叶薇薇' } ], jobChange : [ //董事(理事)、经理、监事 { time : '2016-12-4', beforeChange : '张一鸣,监视', afterChang : '肖金梅,监事;' }, { time : '2016-12-4', beforeChange : '张一鸣,监视', afterChang : '肖金梅,监事;' } ] }
12.获取页面内容:融资历程
12.1 method: GET
12.2 path: /api/home-financing/:companyId
12.3 response:
type: json
example:[ { id:1, Investor : '中国资金', time : '2016-12-4', href : 'https://www.hao123.com/', round : 'D轮', money : '123亿', valuation : '4亿' }, { id:2, Investor : '小飞资产', time : '2016-12-4', href : 'https://www.hao123.com/', round : 'C轮', money : '222亿', valuation : '3亿' }, { id:3, Investor : '中国银行', time : '2016-12-4', href : 'https://www.hao123.com/', round : '天使轮', money : '1000亿', valuation : '100亿' }, { id:4, Investor : '小飞资产', time : '2016-12-4', href : 'https://www.hao123.com/', round : 'C轮', money : '222亿', valuation : '3亿' } ]
13.获取页面内容:旗下产品
13.1 method: GET
13.2 path: /api/home-ltsproducts/:companyId
13.3 response:
type: json
example:[ { id:3276, fontduan:'最新动态', name: '今日头条', img: 'http://oc3brgiv8.bkt.clouddn.com/FrYMpicbBOlXCKBA9kYu-bR3ehTg?imageMogr2/thumbnail/150x150', title: '今日头条 - 热点新闻资讯、娱乐视频', num: 1233, itemlist: [ 'http://a4.mzstatic.com/us/r30/Purple82/v4/7d/47/61/7d476117-a250-4698-85b0-3500f0ec147a/screen696x696.jpeg', 'http://a4.mzstatic.com/us/r30/Purple82/v4/7d/47/61/7d476117-a250-4698-85b0-3500f0ec147a/screen696x696.jpeg', 'http://a5.mzstatic.com/us/r30/Purple111/v4/11/dc/f5/11dcf5bb-9934-144b-05ad-1a0b2a58de64/screen696x696.jpeg', 'http://a5.mzstatic.com/us/r30/Purple111/v4/11/dc/f5/11dcf5bb-9934-144b-05ad-1a0b2a58de64/screen696x696.jpeg', 'http://a4.mzstatic.com/us/r30/Purple82/v4/7d/47/61/7d476117-a250-4698-85b0-3500f0ec147a/screen696x696.jpeg', 'http://a4.mzstatic.com/us/r30/Purple82/v4/7d/47/61/7d476117-a250-4698-85b0-3500f0ec147a/screen696x696.jpeg', 'http://a5.mzstatic.com/us/r30/Purple111/v4/11/dc/f5/11dcf5bb-9934-144b-05ad-1a0b2a58de64/screen696x696.jpeg', 'http://a5.mzstatic.com/us/r30/Purple111/v4/11/dc/f5/11dcf5bb-9934-144b-05ad-1a0b2a58de64/screen696x696.jpeg' ] }, { fontduan:'最新动态', name: '内涵段子', img: 'http://oc3brgiv8.bkt.clouddn.com/Fh3c5R2sDDH1LsH5uqhdF0zfD-T1?imageMogr2/thumbnail/150x150', title: '销售自产产品;货物进出口', num: 33333, itemlist: [ 'http://pp.myapp.com/ma_pic2/0/shot_42265119_1_1493317510/550', 'http://pp.myapp.com/ma_pic2/0/shot_42265119_2_1493317510/550', 'http://pp.myapp.com/ma_pic2/0/shot_42265119_3_1493317510/550', 'http://pp.myapp.com/ma_pic2/0/shot_42265119_4_1493317510/550', 'http://pp.myapp.com/ma_pic2/0/shot_42265119_5_1493317510/550' ] }, { fontduan:'最新动态', name: '小马过河', img: 'http://oc3brgiv8.bkt.clouddn.com/Fgp_PkNwRv-tapAHmEiMiTX96X52?imageMogr2/thumbnail/150x150', title: '技术推广、技术转让、技术咨询', num: 4543, itemlist: [ 'http://pp.myapp.com/ma_pic2/0/shot_1235317_1_1491528327/550', 'http://pp.myapp.com/ma_pic2/0/shot_1235317_2_1491528327/550', 'http://pp.myapp.com/ma_pic2/0/shot_1235317_3_1491528327/550', 'http://pp.myapp.com/ma_pic2/0/shot_1235317_4_1491528327/550', 'http://pp.myapp.com/ma_pic2/0/shot_1235317_5_1491528327/550', 'http://pp.myapp.com/ma_pic2/0/shot_1235317_2_1491528327/550', 'http://pp.myapp.com/ma_pic2/0/shot_1235317_4_1491528327/550' ] } ]
14. 旗下产品页面实时排名数据
14.1 method: GET
14.2 path: /api/home-rinking/:companyId/:startDate/:endDate
14.3 options:
companyId -> 公司 id startDate -> 开始时间 endDate -> 结束时间
14.4 response:
type: json
example:{ startDate:'2016-12-4', endDate:'2016-12-4', time: ["2016-1-1", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12"], ranking: [820, null, 901, 934, 1290, 1330, 1320, 123, 233, 4545, 2123, 133, 932, 901, 934, 1290, 1330, 1320, 123, 233, 4545, 2123, 133, 932, 901, 934, 1290, 1330, 1320, 123, 233, 4545, 2123, 133, 932, 901, 934, null, 1330, 1320, 123, 233, 4545, 2123, 133] }
14.5 其他说明
time 中每一个日期对应一个 ranking 中的数值,若无数值则置 null
15. 旗下产品页面下载趋势
15.1 method: post
15.2 path: /api/home-download/:companyId/:startDate/:endDate
15.3 接口需求参数
companyId -> 公司 id startDate -> 开始时间 endDate -> 结束时间
15.4 response:
type: json
example:{ startDate: '2013-04-14', endDate: '2013-04-21', time: ["2016-1-1", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12", "2016-12-21", "2016-3-12", "2016-4-1", "2016-5-21", "2016-6-12", "2016-7-2", "2016-8-8", "2016-9-12", "2016-10-12", "2016-11-11", "2016-12"], ranking: [820, 932, 901, 934, 1290, 1330, 1320, 123, 233, 4545, 2123, 133, 932, 901, 934, 1290, 1330, 1320, 123, 233, 4545, 2123, 133, 932, 901, 934, 1290, 1330, 1320, 123, 233, 4545, 2123, 133, 932, 901, 934, 1290, 1330, 1320, 123, 233, 4545, 2123, 133] }
16. 获取公司主页:竞品分析
16.1 method: GET
16.2 path: /api/home-competitor/:companyId
16.3 options:
companyId
-> 公司 id16.4 response:
type: json
example:[ { id:1, logo : 'http://static.tianyancha.com/logo/product/60f9f0edf9c652b172a13ca2389738d3.png', name : '饿了么', title : '美好生活,出手可及', tags : '媒体_餐饮_娱乐_生活_小清新', address : '北京', round : 'D轮', time : '2017.12.5', valuation : '1.42亿人民币' }, { id:2, logo : 'http://static.tianyancha.com/logo/product/60f9f0edf9c652b172a13ca2389738d3.png', name : '饿了么', title : '美好生活,出手可及', tags : '媒体_餐饮_娱乐_生活_小清新', address : '北京', round : 'D轮', time : '2017.12.5', valuation : '1.42亿人民币' }, { id:3, logo : 'http://static.tianyancha.com/logo/product/60f9f0edf9c652b172a13ca2389738d3.png', name : '饿了么', title : '美好生活,出手可及', tags : '媒体_餐饮_娱乐_生活_小清新', address : '北京', round : 'D轮', time : '2017.12.5', valuation : '1.42亿人民币' } ]
更多相关内容 -
泛微OA-E9流程表单前端接口API(V21).pdf
2021-07-30 18:35:03泛微OA-E9流程表单前端接口API(V21) -
接口文档与接口文档管理工具
2021-07-12 11:16:451.接口文档的定义:在项目开发汇总,web项目的前后端是分离开发的。应用程序的开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。 2.接口文档的...目录
-Postman、Swagger、RAP、DOClever对比介绍
1、接口文档
1.定义:在项目开发汇总,web项目的前后端是分离开发的。应用程序的开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。
2.功能与目的:项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发,项目维护或者项目人员更迭的时候,方便后期人员查看、维护。
3.接口文档规范:首先了解一下接口:
请求方法 GET PUT POST DELETE url 以/a开头,如果需要登录才能调用的接口(如新增、修改;前台的用户个人信息,资金信息等)后面需要加/u,即:/a/u;中间一般放表名或者能表达这个接口的单词。get方法,若果是后台通过搜索查询列表,那么以/search结尾,如果是前台的查询列表,以/list结尾。uri地址里不逊于出现大写字母,如果是两个单词拼接,用/分开 请求参数和返回参数 字段 类的属性 说明 中文释义 类型 属性的类型,只有String、Number、Object、Array四大类 备注 一些解释语,或者写简单的示例 是否必填 返回参数 只返回接口调用成功或者失败:code、reason 返回参数:字段、类型 一份规范的接口文档除了上面提到的请求方法、url、请求参数、返回参数以外,还应该添加接口示例、接口文档版本号、版本修改内容、版本修改时间、修改人,错误代码等。
5.示例:接口文档示例(来源:网络)
2、接口文档管理工具
-Postman、Swagger、RAP、DOClever对比介绍
在项目开发测试中,接口文档是贯穿始终的。前后端开发需要在开发前期进行接口定义并形成文档,QA在功能测试和接口测试的环节也需要依赖于这些接口文档进行测试。接口文档往往以最简单的静态文档的形态存在。然而在紧张的敏捷开发模式下,随着版本迭代,很多接口发生了变化或者被废弃,而开发几乎不会在后期去更新这种静态文档。QA人员阅读“过期”的接口文档是一件痛苦的事情,与开发的沟通成本不降反升。而这些不便于及时维护的静态文档,随着时间的推移最终无人问津。因此,我们想要找到一种长期可维护且轻量便捷的接口文档工具。
Postman是被大家所熟知的网页调试Chrome插件,我们常常用它来进行临时的http请求调试。幸运的是,Postman可以将调试过的请求保存到Collection中。形成的Collection就可以作为一份简单有效且支持在线测试的接口文档,使用同一账号登录就可以做到分享和同步。对QA来说,使用Postman进行接口测试和接口文档维护是同一件事情,测试即文档,维护成本也很低。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案。Swagger主要包含了以下4个部分:
1. Swagger可以直接嵌入项目中,通过开发时编写注释,自动生成接口文档;
2. Swagger包含了SwaggerEditor,它是使用yaml语言的Swagger API的编辑器,支持导出yaml和json格式的接口文件;
3. Swagger包含了SwaggerUI,它将Swagger Editor编辑好的接口文档以html的形式展示出来;
4. Swagger支持根据定义的接口导出各种语言的服务端或客户端代码。
其中1和4是更加面向开发的内容,开发团队要有自动生成文档的需求,在开发和自测中遵循前后端分离。而2和3是相对可以独立出来的、可供QA人员参考的接口文档管理方案,也是我们主要关注的部分。
Swagger提供了SwaggerEditor和Swagger UI的在线demo,如下图。可以看出,Swagger可以完整地定义一个接口的内容,包括各个参数、返回值的具体结构、类型,SwaggerEditor可以实时进行编辑并在线调试。编辑好的API可以导出为json文件,使用Swagger UI打开即可以看到更美观的接口文档。
Swagger Editor和SwaggerUI的本地部署十分简单,这两者都可以直接从Github上下载源码,将其部署到本地Tomcat服务器上,然后通过浏览器访问即可。官方还提供了其他几种部署方式,具体步骤在帮助文档中有详细说明,这里不再赘述。
RAP是阿里的一套完整的可视化接口管理工具,可以定义接口结构,动态生成模拟数据,校验真实接口正确性。不仅如此,RAP围绕接口定义,提供了一系列包括团队管理、项目管理、文档版本管理、mock插件等服务。
有关RAP的使用,RAP官网提供了非常详细的wiki和视频教程。与Swagger需要使用标记语言编写不同,RAP可以完全可视化地定义项目相关信息,定义接口的请求响应等等,学习成本较低。RAP还为后端开发人员提供了校验接口的功能,为前端开发人员提供了mock数据的工具等。
DOClever是一个可视化接口管理工具,可以分析接口结构,校验接口正确性, 围绕接口定义文档,通过一系列自动化工具提升我们的协作效率。DOClever前后端全部采用了javascript来作为开发语言,前端用的是vue+element UI,后端是express+mongodb,这样的框架集成了高并发,迭代快的特点,保证系统的稳定可靠。
功能如下:
1.可以对接口信息进行编辑管理,支持get,post,put,delete,patch 五种方法,支持 https 和 https 协议,并且支持 query,body,json,raw,rest,formdata 的参数可视化编辑。同时对 json 可以进行无限层次可视化编辑。并且,状态码,代码注入,markdown 文档等附加功能应有尽有。
2.接口调试运行,可以对参数进行加密,从md5 到 aes 一应俱全,返回参数与模型实时分析对比,给出不一致的地方,找出接口可能出现的问题。如果你不想手写文档,那么试试接口的数据生成功能,可以对接口运行的数据一键生成文档信息。
3.mock 的无缝整合,DOClever 自己就是一个 mock 服务器,当你把接口的开发状态设置成已完成,本地 mock 便会自动请求真实接口数据,否则返回事先定义好的 mock 数据。
4.支持 postman,rap,swagger 的导入,方便你做无缝迁移,同时也支持 html 文件的导出,方便你离线浏览!
5.项目版本和接口快照功能并行,你可以为一个项目定义 1.0,1.1,1.2 版本,并且可以自由的在不同版本间切换回滚,再也不怕接口信息的遗失,同时接口也有快照功能,当你接口开发到一半或者接口需求变更的时候,可以随时查看之前编辑的接口信息。
6.自动化测试功能,目前市面上类似平台的接口自动化测试大部分都是伪自动化,对于一个复杂的场景,比如获取验证码,登陆,获取订单列表,获取某个特定订单详情这样一个上下文关联的一系列操作无能为力。而 DOClever 独创的自动化测试功能,只需要你编写极少量的 javascript 代码便可以在网页里完成这样一系列操作,同时,DOClever 还提供了后台定时批量执行测试用例并把结果发送到团队成员邮箱的功能,你可以及时获取接口的运行状态。
7.团队协作功能,很多类似的平台这样的功能是收费的,但是 DOClever 觉得好东西需要共享出来,你可以新建一个团队,并且把团队内的成员都拉进来,给他们分组,给他们分配相关的项目以及权限,发布团队公告等等。
DOClever 开源免费,支持内网部署,很多公司考虑到数据的安全性,不愿意把接口放到公网上,没有关系,DOClever 给出一个方便快捷的解决方案,你可以把平台放到自己的内网上,完全不需要连接外网,同时功能一样也不少,即便是对于产品的升级,DOClever 也提供了很便捷的升级方案!
官网: http://doclever.cn
Github: https://github.com/sx1989827/DOClever
码云: https://git.oschina.net/sx1989827/SBDoc
文档: http://doclever.cn/help/help.html
总结
Postman是一个测试向的API小工具,可以非常轻量地维护一份“测试记录”,适合小的测试团队自己使用并维护。Swagger丰富且独立的各个功能使得它可以被应用在各种需求下,不论是开发还是测试都可以使用这个工具,来优化自己的开发过程,进行接口文档维护、接口测试等;但Swagger的学习和接入成本相对较高,需要开发与测试的深入配合。RAP的应用范围非常明确,是一个面向开发人员自测和联调的工具性平台,它更适合以开发为核心对接口进行维护,但目前基本不在维护。DOClever是一款功能比较强大的平台,在国内好评率很高,而且产品完全免费开源,可线下部署;同时产品更新迭代比较频繁,可以看出他们也是在用心做这个产品;
3、Swagger
(swagger使用和教程_青春季风暴-CSDN博客_swagger使用)
相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了。发现了痛点就要去找解决方案。解决方案用的人多了,就成了标准的规范,这就是Swagger的由来。通过这套规范,你只需要按照它的规范去定义接口及接口相关的信息。再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端的代码,以及在线接口调试页面等等。这样,如果按照新的开发模式,在开发新版本或者迭代版本的时候,只需要更新Swagger描述文件,就可以自动生成接口文档和客户端服务端代码,做到调用端代码、服务端代码以及接口文档的一致性。
但即便如此,对于许多开发来说,编写这个yml或json格式的描述文件,本身也是有一定负担的工作,特别是在后面持续迭代开发的时候,往往会忽略更新这个描述文件,直接更改代码。久而久之,这个描述文件也和实际项目渐行渐远,基于该描述文件生成的接口文档也失去了参考意义。所以作为Java届服务端的大一统框架Spring,迅速将Swagger规范纳入自身的标准,建立了Spring-swagger项目,后面改成了现在的Springfox。通过在项目中引入Springfox,可以扫描相关的代码,生成该描述文件,进而生成与代码一致的接口文档和客户端代码。这种通过代码生成接口文档的形式,在后面需求持续迭代的项目中,显得尤为重要和高效。
现在SWAGGER官网主要提供了几种开源工具,提供相应的功能。可以通过配置甚至是修改源码以达到你想要的效果。
wagger Codegen:
通过Codegen 可以将描述文件生成html格式和cwiki形式的接口文档,同时也能生成多钟语言的服务端和客户端的代码。支持通过jar包,docker,node等方式在本地化执行生成。也可以在后面的Swagger Editor中在线生成。Swagger UI:
提供了一个可视化的UI页面展示描述文件。接口的调用方、测试、项目经理等都可以在该页面中对相关接口进行查阅和做一些简单的接口请求。该项目支持在线导入描述文件和本地部署UI项目。Swagger Editor:
类似于markendown编辑器的编辑Swagger描述文件的编辑器,该编辑支持实时预览描述文件的更新效果。也提供了在线编辑器和本地部署编辑器两种方式。Swagger Inspector:
感觉和postman差不多,是一个可以对接口进行测试的在线版的postman。比在Swagger UI里面做接口请求,会返回更多的信息,也会保存你请求的实际请求参数等数据。Swagger Hub:
集成了上面所有项目的各个功能,你可以以项目和版本为单位,将你的描述文件上传到Swagger Hub中。在Swagger Hub中可以完成上面项目的所有工作,需要注册账号,分免费版和收费版。PS:
Springfox Swagger: Spring 基于swagger规范,可以将基于SpringMVC和Spring Boot项目的项目代码,自动生成JSON格式的描述文件。本身不是属于Swagger官网提供的,在这里列出来做个说明,方便后面作一个使用的展开。
这里不会介绍Swagger的工具具体如何使用,不会讲yml或者json格式描述文件的语法规范,也不会讲如何在SpringMVC或者Spring Boot中配置Springfox-swagger。这些都能从网上找到,而且配置起来都非常的简单。
这里想讲的是如何结合现有的工具和功能,设计一个流程,去保证一个项目从开始开发到后面持续迭代的时候,以最小代价去维护代码、接口文档以及Swagger描述文件。
一般来说,接口文档都是由服务端来编写的。在项目开发阶段的时候,服务端开发可以视情况来决定是直接编写服务端调用层代码,还是写Swagger描述文件。建议是如果项目启动阶段,就已经搭好了后台框架,那可以直接编写服务端被调用层的代码(即controller及其入参出参对象),然后通过Springfox-swagger 生成swagger json描述文件。如果项目启动阶段并没有相关后台框架,而前端对接口文档追得紧,那就建议先编写swagger描述文件,通过该描述文件生成接口文档。后续后台框架搭好了,也可以生成相关的服务端代码。
到这个阶段,事情就简单很多了。后续后台人员,无需关注Swagger描述文件和接口文档,有需求变更导致接口变化,直接写代码就好了。把调用层的代码做个修改,然后生成新的描述文件和接口文档后,给到前端即可。真正做到了一劳永逸。
总结一下就是通过下面这两种流程中的一种,可以做到代码和接口文档的一致性,服务端开发再也不用花费精力去维护接口文档。
很多时候,如果你能在
提供接口文档
的同时,把所有接口的模拟请求响应数据也提供给前端
。或者有Mock系统,直接将这些模拟数据录入到Mock系统中,那将会提高前端的开发效率,减少许多发生在联调时候才会发生的问题。通过适当地在代码中加入swagger的注解,可以让你的接口文档描述信息更加详细,如果你把每个出入参数的示例值都配上,那前端就可以直接在接口文档中拿到模拟数据。相关的注解类及参数配置可以参考文末他人写的技术文章,这里也不作展开了。
相关示例注解代码和效果图如下:#####Controller代码
@Override @ApiOperation(value = "post请求调用示例", notes = "invokePost说明", httpMethod = "POST") public FFResponseModel<DemoOutputDto> invokePost(@ApiParam(name="传入对象",value="传入json格式",required=true) @RequestBody @Valid DemoDto input) { log.info("/testPost is called. input=" + input.toString()); return new FFResponseModel(Errcode.SUCCESS_CODE, Errcode.SUCCESS_MSG); }
#####接口请求入参对象
@Data @ApiModel(value="演示类",description="请求参数类" ) public class DemoDto implements Serializable { private static final long serialVersionUID = 1L; @NotNull @ApiModelProperty(value = "defaultStr",example="mockStrValue") private String strDemo; @NotNull @ApiModelProperty(example="1234343523",required = true) private Long longNum; @NotNull @ApiModelProperty(example="111111.111") private Double doubleNum; @NotNull @ApiModelProperty(example="2018-12-04T13:46:56.711Z") private Date date; }
#####接口请求出参公共类
@ApiModel(value="基础返回类",description="基础返回类") public class FFResponseModel<T> implements Serializable { private static final long serialVersionUID = -2215304260629038881L; // 状态码 @ApiModelProperty(example="成功") private String code; // 业务提示语 @ApiModelProperty(example="000000") private String msg; // 数据对象 private T data; ... }
#####接口请求出参实际数据对象
@Data public class DemoOutputDto { private String res; @NotNull @ApiModelProperty(value = "defaultOutputStr",example="mockOutputStrValue") private String outputStrDemo; @NotNull @ApiModelProperty(example="6666666",required = true) private Long outputLongNum; @NotNull @ApiModelProperty(example="88888.888") private Double outputDoubleNum; @NotNull @ApiModelProperty(example="2018-12-12T11:11:11.111Z") private Date outputDate; }
模拟请求数据报文:
模拟返回数据报文:总结
归根到底,使用Swagger,就是把相关的信息存储在它定义的描述文件里面(yml或json格式),再通过维护这个描述文件可以去更新接口文档,以及生成各端代码。而Springfox-swagger,则可以通过扫描代码去生成这个描述文件,连描述文件都不需要再去维护了。所有的信息,都在代码里面了。代码即接口文档,接口文档即代码。
-
全套前端新手入门API中文帮助文档
2017-11-04 12:27:23前端必备各种API帮助文档中英文新手必备,学习路上的好帮手!!!哪里不会查哪里!妈妈再也不用担心我的学习!HTML/CSS/JSP/JQ/MYSQL/JAVAEE各种帮助文档总有一款适合你! -
后端如何编写API文档给到前端?
2021-02-02 17:04:28API文档如何写? learn 【连载】the first time项目日志(一)——做项目查资料 =>转载自博客http://blog.itpub.net/31562041/viewspace-2564416/ 我也看不懂… 接口的设计原则 在设计接口时,有很多因素要考虑...API文档如何写?
learn
【连载】the first time项目日志(一)——做项目查资料
=>转载自博客http://blog.itpub.net/31562041/viewspace-2564416/我也看不懂…
接口的设计原则
在设计接口时,有很多因素要考虑,如:
接口的业务定位,接口的安全性,接口的可扩展性、接口的稳定性、接口的跨域性、接口的协议规则、接口的路径规则、接口单一原则、接口过滤和接口组合等;
规范性建议
1.职责原则
在设计接口时,必须明确接口的职责,即接口类型,接口应解决什么业务问题等
2.单一性原则
在明确接口职责的条件下,尽量做到接口单一,即一个接口只做一件事,而非两件以上。
3.协议规范
在设计接口时,应明确接口协议,是采用HTTP协议,HTTPS协议还是FTP协议,要根据具体情况来定。
(1)FTP协议(File Transfer Protocol,简称FTP),是一套标准的文件传输协议,用于传输文件,如.txt,.csv等,一般文件传输,采用FTP协议
(2)HTTP协议,适用一般对安全性要求比较低或没要求的业务情景
(3)HTTPS=HTTP+SSL,适用于对安全性要求较高的业务情景
4.路径规则
由于api获取的是一种资源,所以网址中尽量为名词,而非动词
/api/v1.0/Pruduct/2019(名词产品)
/api/v1.0/Users/2019(名词用户)
5.http请求方式
接口基本访问协议:get(获取),post(新增),put(修改)和delete(删除)
get /users:列出所有用户(Q)
get /users/id:根据id获取用户(Q)
post /user:新增用户©
put /user/id:根据用户id更新用户(U)
delete /user/id:根据用户id删除用户(D)
6.域名
一般地,域名分为主域名和专有域名,主域名适合api长期不变或变化较少的业务,专有域名是解决具体的专有业务的
以百度举例:
(1)主域名:www.baidu.com
(2)产品服务类
百度文库:https://wenku.baidu.com/
百度知道:https://zhidao.baidu.com/
百度资讯: https://zhidao.baidu.com/
(3)市场活动类
百度公益:http://gongyi.baidu.com
百度logo:http://logo.baidu.com/
百度世界:https://baiduworld.baidu.com
7.跨域考虑
在明确域名的情况下,一定要考虑接口是否跨域,以及跨域应采用的技术手段等
那么什么是跨域?参考我的这篇博客~
8.api版本
对于接口的url,应加版本号http://api.demo.com/v{d}/,如 ,其中d表示版本号,如v1.0,v2.0
例子:获取产品号为2019,版本号为v1.0的版本号的产品信息
/api/v1.0/Pruducts/2019
9.适度过滤信息
当记录数比较多时(如 SELECT * FROM TBName),应适当添加一些条件对数据进行过滤,如TOP,分页,分组,排序和WHERE条件等;
下面是一些常见的参数。
?limit=100:返回100条数据
?offset=101:从第101条数据开始返回
?page=10:指第10页
per_page=100:每页100条数据
?sortby=name:排序字段
?order=desc:降序
?group=groupName:分组
?producy_type=1:筛选条件
10.返回数据格式
返回数据格式,一般包括三个字段:
(1)失败情况(状态码、错误码和错误描述)
{ “status”:0,//状态码 0-表示失败,1-表示成功 “error_code”:”2003”,//错误码,一般在设计时定义 “error_des”:”身份验证失败”//错误描述,一般在设计时定义 }
(2)成功情况(标识id,数据对象,状态码)
{ ”sid“:”sh20190111”,//token id ”users“:{ ”id“:”al201901111341”,//用户id “name”:”Alan_beijing”,//用户名 “addr”:”用户地址” }, “status”:1//状态码 0-表示失败,1-表示成功 }
11.安全性原则
接口暴露的考虑,接口并发量的考虑,接口防攻击的考虑,接口跨域的考虑等
12.可扩展性原则
在设计接口时,充分考虑接口的可扩展性。
13.定义api界限
任何api,从权限上,可归结为匿名api和非匿名api,前者不需要验证,后者需要验证
14.定义api返回码
在api设计时,要定好api返回码,如
1 --授权过期
404–未找到资源
500–内部服务器错误
600–账号被锁
反规范性建议
存在这样一种业务场景:某个接口需要返回多个api接口组合的结果 ,在类似的业务场景下,所设计的接口,具有一定的反规范性。
1.Request
data:[ {url:'api1',type:'get',data:{...}}, {url:'api2',type:'get',data:{...}}, ]
2.Response
{ status:0, msg:'', data:[ {status:1,msg:'',data:[]}, {status:1,msg:'',data:{}} ] }
实例
假设存在这样一个一个业务:一个ERP系统,需要提供两个接口,一个是用户访问接口(需要验证),另一个是用户注册接口(不需要验证)。
根据本篇文章一,二部分的建议,我们来设计满足该业务需求的接口
(一)定义统一参数
1.定义统一输入参数
2.定义统一输出参数
3.定义统一错误码
(二)定义接口授权类别
如下为定义接口授权类别
(三)用户接口
1.用户注册
2.Request
3.Response
4.code示例
Request: { "mobile":13636595499, "verify_code":"987654", "pwd":"123456" } Responce: (1)error { "status":0, "error_code":1001, "error_desc":"手机验证码已失效" } (2)succed { "sid":"sh201901141529", "uid":1, "status":1 }
(四)用户登录
1.登录接口概述
2.Request
3.Responce
4.Code
Responce: 1.error { "status":0, "error_code":1002, "error_desc":"密码错误" } 2.succeed { "sid":"sh201901141529", "user":{ "id":1, "username":"", age:0, gender:0 }, "status":1 }
转载于2021/2/2日。
-
前端免费API接口
2022-04-24 10:06:15本文主要是统计前端可以免费使用的API接口信息,商用(不以盈利为目的)需缴费使用;反之,则可以免费使用,有些接口会有次数限制,会单独注明。 一、北京时间 1、便民查询接口(传送门) 接口数据结构分析 ...本文主要是统计前端可以免费使用的API接口信息,商用(不以盈利为目的)需缴费使用;反之,则可以免费使用,有些接口会有次数限制,会单独注明。
一、北京时间
1、便民查询接口(传送门)
1)、接口返回值
window.baidu_time({ "time": 1650790777162.8 })
2)、示例代码
(function () { // 时间正则 年月日时分秒 // const TIME_FORMAT = "{0}-{1}-{2} {3}:{4}:{5}"; const TIME_FORMAT = "{0}\u5e74{1}\u6708{2}\u65e5 {3}:{4}:{5}"; // 北京时间为东八区时间,所以比格里尼治时间(世界时)早8个小时,即:北京时间 = 世界时 + 8小时 const TIME_ZONE = +8; // 更新日期时间定时器 let updateDateTimeTimer = null; // 将日期时间转为标准的日期时间 function formatTime(str, arr) { return str.replace(/{(\d)}/g, (value, index) => { return arr[index]; }); } // 前缀补零,默认数字不大于10的时候前面补零 function prefixZero(num, size = 10) { return num < size ? "0" + num : num; } // 返回标准时间 function initDatetime(time) { // 计算时区误差 let differ = (-1 * new Date().getTimezoneOffset() - TIME_ZONE * 60) * 60000; // 当前的日期时间对象 let datetime = new Date(time - differ); // 返回什么格式的时间 return formatTime(TIME_FORMAT, [ prefixZero(datetime.getFullYear()), prefixZero(datetime.getMonth() + 1), prefixZero(datetime.getDate()), prefixZero(datetime.getHours()), prefixZero(datetime.getMinutes()), prefixZero(datetime.getSeconds()), ]); } window.baidu_time = function ({ time }) { if (updateDateTimeTimer != 0) { clearInterval(updateDateTimeTimer); updateDateTimeTimer = 0; } updateDateTimeTimer = setInterval(function () { time += 1000; let dateTime = initDatetime(time); // dateTime 为格式化以后的标准时间 console.log(dateTime); }, 1000); }; })(); function init() { let oldJs = document.getElementById("reloadJs"); oldJs && oldJs.parentNode.removeChild(oldJs); let newJs = document.createElement("script"); newJs.id = "reloadJs"; newJs.src = "https://biaozhunshijian.bmcx.com//web_system/bmcx_com_www/system/file/biaozhunshijian/time/?v=" + new Date().getTime(); document.getElementsByTagName("head")[0].appendChild(newJs); // 每间隔一小时,重新调用,减少误差 setTimeout(() => { init(); }, 1000 * 60 * 60); } init();
二、实况天气
1、万年历
1)、json格式(传送门)
{ "data": { "yesterday": { "date": "23日星期六", "high": "高温 27℃", "fx": "东风", "low": "低温 12℃", "fl": "<![CDATA[2级]]>", "type": "多云" }, "city": "铜川", "forecast": [ { "date": "24日星期天", "high": "高温 20℃", "fengli": "<![CDATA[2级]]>", "low": "低温 9℃", "fengxiang": "西北风", "type": "阴" }, { "date": "25日星期一", "high": "高温 26℃", "fengli": "<![CDATA[2级]]>", "low": "低温 13℃", "fengxiang": "西南风", "type": "阴" }, { "date": "26日星期二", "high": "高温 28℃", "fengli": "<![CDATA[2级]]>", "low": "低温 16℃", "fengxiang": "东北风", "type": "阴" }, { "date": "27日星期三", "high": "高温 26℃", "fengli": "<![CDATA[3级]]>", "low": "低温 14℃", "fengxiang": "东风", "type": "多云" }, { "date": "28日星期四", "high": "高温 20℃", "fengli": "<![CDATA[2级]]>", "low": "低温 13℃", "fengxiang": "东风", "type": "阴" } ], "ganmao": "感冒易发期,外出请适当调整衣物,注意补充水分。", "wendu": "19" }, "status": 1000, "desc": "OK" }
2)、XML格式(传送门)
<resp> <city>铜川</city> <updatetime>17:01</updatetime> <wendu>19</wendu> <fengli> <![CDATA[ 2级 ]]> </fengli> <shidu>73%</shidu> <fengxiang>南风</fengxiang> <sunrise_1>05:59</sunrise_1> <sunset_1>19:24</sunset_1> <sunrise_2/> <sunset_2/> <yesterday> <date_1>23日星期六</date_1> <high_1>高温 27℃</high_1> <low_1>低温 12℃</low_1> <day_1> <type_1>多云</type_1> <fx_1>东风</fx_1> <fl_1> <![CDATA[ 2级 ]]> </fl_1> </day_1> <night_1> <type_1>多云</type_1> <fx_1>东风</fx_1> <fl_1> <![CDATA[ 2级 ]]> </fl_1> </night_1> </yesterday> <forecast> <weather> <date>24日星期天</date> <high>高温 23℃</high> <low>低温 15℃</low> <day> <type>阴</type> <fengxiang>西北风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </day> <night> <type>多云</type> <fengxiang>西北风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </night> </weather> <weather> <date>25日星期一</date> <high>高温 27℃</high> <low>低温 13℃</low> <day> <type>阴</type> <fengxiang>西南风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </day> <night> <type>晴</type> <fengxiang>西南风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </night> </weather> <weather> <date>26日星期二</date> <high>高温 29℃</high> <low>低温 13℃</low> <day> <type>阴</type> <fengxiang>东北风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </day> <night> <type>阴</type> <fengxiang>东北风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </night> </weather> <weather> <date>27日星期三</date> <high>高温 21℃</high> <low>低温 9℃</low> <day> <type>多云</type> <fengxiang>东风</fengxiang> <fengli> <![CDATA[ 3级 ]]> </fengli> </day> <night> <type>中雨</type> <fengxiang>东风</fengxiang> <fengli> <![CDATA[ 3级 ]]> </fengli> </night> </weather> <weather> <date>28日星期四</date> <high>高温 20℃</high> <low>低温 8℃</low> <day> <type>阴</type> <fengxiang>东风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </day> <night> <type>多云</type> <fengxiang>东风</fengxiang> <fengli> <![CDATA[ 2级 ]]> </fengli> </night> </weather> </forecast> <zhishus> <zhishu> <name>穿衣指数</name> <value>薄款春秋装</value> <detail>天气舒适,温度适宜。建议着T恤衫、休闲服等,既舒适,又时尚。</detail> </zhishu> <zhishu> <name>紫外线强度</name> <value>紫外线较弱</value> <detail>紫外线强度弱,外出记得涂防晒霜,避免皮肤受到太阳辐射的危害。</detail> </zhishu> <zhishu> <name>护肤指数</name> <value>常规护肤</value> <detail>空气适宜,请根据皮肤类型,选择适合的常规护肤品。</detail> </zhishu> <zhishu> <name>洗车指数</name> <value>较适宜洗车</value> <detail>今明两日天气较好,可以放心洗车。</detail> </zhishu> <zhishu> <name>感冒指数</name> <value>少发感冒</value> <detail>感冒低发期,天气舒适,请注意多吃蔬菜水果,多喝水哦。</detail> </zhishu> <zhishu> <name>晾晒指数</name> <value>不适宜晾晒</value> <detail>阳光不充足,不适宜晾晒。</detail> </zhishu> <zhishu> <name>户外指数</name> <value>较适宜外出</value> <detail>天气还可以,预计白天没有降水,适合参加户外活动,适当锻炼身体。</detail> </zhishu> <zhishu> <name>污染指数</name> <value>轻微污染</value> <detail>空气质量良好,污染物浓度低,对健康人群无明显影响,可在户外适当活动。</detail> </zhishu> <zhishu> <name>钓鱼指数</name> <value>较适宜</value> <detail>阴天钓浅不钓深,钓近不钓远。考验您技术的时候到了!</detail> </zhishu> <zhishu> <name>中暑指数</name> <value>不易中暑</value> <detail>预计今日整体天气适中,中暑的可能性较低,无需做特殊防护。</detail> </zhishu> <zhishu> <name>舒适度</name> <value>较舒适</value> <detail>天气凉爽,微微冷,对于大部分人来说是舒适的。</detail> </zhishu> <zhishu> <name>赏月指数</name> <value>不适宜赏月</value> <detail>今晚看不到月亮,不适合赏月</detail> </zhishu> </zhishus> </resp>
-
海康平台Http接口帮助文档+示例
2018-08-08 09:24:37海康平台集成接口,包括视频、门禁、车辆等。iVMS-8700_V2.9.1和iVMS-5000_V6.9平台SDK -
前后端分离:什么是接口文档?
2022-01-09 13:46:19Swagger接口文档和knife4j接口文档 -
常用的接口文档工具
2021-09-06 21:23:52swagger, 集成在 java 项目里, 可维护性高, 直接在代码里写文档, 不过带来的也是对代码入侵性高, 整个项目 ...个人比较推荐 yapi, 虽然后端需要单独维护接口文档, 不过能为前端开发人员提供更友好的对接文档 ... -
什么是接口文档,如何写接口,有什么规范?
2021-12-29 20:10:27一、什么是接口文档? 在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。 二、为什么要写接口... -
SpringBoot 集成接口文档,老鸟们也被打脸了!
2021-09-29 08:56:44详情可见:SpringBoot 如何生成接口文档,老鸟们都这么玩的! 可是当我接触到另一个接口文档工具 smart-doc后,我觉得它比Swagger更适合集成在项目中,更适合老鸟们。今天我们就来介绍一下smart-doc组件的使用,作为... -
基础篇-接口文档与用例设计
2021-01-24 19:46:54目录一、接口文档什么情况下开展接口测试?二、接口文档1.接口文档三要素2.这个是个非常标准的接口文档三、接口用例1.用例设计2.如果一个页面有三个输入框,一个发送按钮,你平常怎么写功能测... -
史上最好用的接口文档工具—Lkadoc操作指南
2020-07-31 17:00:18Lkadoc是一款能够基于注解自动生成带调试功能的接口文档工具,支持导出MD、PDF格式的接口文档,支持数据校验,支持对接口进行压力测试等等。生成的UI界面简约大方,对接口描述一目了然,自面世以来深受大家的推崇和... -
前端规范——前后端接口规范
2021-11-30 17:17:59接口尽量轻巧,前端不需要的数据,不需要返回 后端尽量统一风格,禁止单独适配 为了避免某些Chrome浏览器广告屏蔽插件的误拦截,不使用ad等广告字眼 对前端的要求:前端使用axios统一封装请求方法,做统一请求、... -
前端开发-技术设计文档编写规范
2022-03-30 17:17:29前端开发 - 技术设计文档编写规范(一) -
前端开发文档(开发之前个人的准备)
2019-06-24 10:38:26前言: 前端开发文档,开发之前的个人准备,按照自己的开发习惯来编写,有问题或者不足的地方还望指出,谢谢~ 如有侵权,实属无意,请立即联系,立删。 环境搭建 需要准备的软件 a. Node.js + npm (可以去node官网... -
Go 项目自动生成接口文档
2022-01-27 16:03:58使用 GraphQL 当接口标准,倒是省了接口文档的问题,连前端代码都可以自动生成了,但是对后端同学来说,学习成本又比较大。 使用 gRPC 当接口标准,后端同学是爽了,但是前端的 gPRC 相关生态和工具是真的烂,体验极... -
接口文档在项目中的作用
2021-01-29 17:58:29前后端合作开发的时候经常需要用到接口文档,那么接口文档在产品中究竟有什么作用?该如何去规范呢? 约束 假如你的项目中有若干前端和若干后端。你现在需要开发一个登陆接口,通常情况下这个功能一个前端和一个后端... -
系统架构设计(通用型),推荐给苦于写文档的同学们,干货分享!
2021-02-24 04:25:30Web前端基于HTML/HTML5/Vue/CSS3开发...Restful接口基于特定业务,采用Restful标准接口,对外提供数据服务。基于阿里云CDN实现静态数据加速;基于阿里云SLB,实现服务器负载均衡;基于TCP/HTTP/HTTPS三种通信方式,实 -
【接口测试实战(二)】根据接口文档使用postman测试
2021-05-29 07:45:451)接口文档2)使用postman来实操接口请求Postman接口请求过程:Postman接口响应验证:2.1 GET(查询)2.2.1 学院-查询所有2.2.2 学院-查询指定2.2 POST(新增)常用的body类型:2-1-1、增2.3 PUT(更新)2-1-3、改... -
没有接口设计文档怎么做测试?
2020-09-09 08:31:00一、接口是什么?1. 官方解释:API(Application Programming Interface) 即应用程序接口。是一个软件组件,或是一个Web服务与外界进行交互的接口,这里... -
一份规范的接口文档应该包括什么内容?
2019-11-04 08:26:571.接口文档是什么 在项目开发汇总,web项目的前后端是分离开发的。应用程序的开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。 2.为什么要... -
如何优雅的生成接口文档?
2019-10-11 08:06:00我们知道在项目开发阶段,接口文档基本上是必备产物了,一般由后端开发人员提供,作为和前端人员进行前后端接口联调的桥梁,或者与别的项目模块进行交互提供指导等等,接口文档的准确性,实时性,详细与否等,都会极... -
接口测试实战项目02:根据接口文档测试
2020-12-20 19:28:48测试奇谭:接口测试实战项目01:接口测试环境搭建 这次,我们正式进入测试阶段。 为什么要做接口测试 这个问题的答案很多,我这里只给大家做个引子。 01 可以精确定位bug 比如:当你在测试某网页时,发现网页... -
接口文档管理工具showDoc
2020-06-16 16:54:39随着互联网的发展,前后端分离已成为互联网项目开发的业界标准使用方式。 由此而产生的前端开发工程师和后端开发工程师的沟通效率问题。 推荐一个应此而生的文档管理工具---showdoc showdoc官网 一、介绍 1.... -
接口文档管理系列 OpenAPI规范及Swagger工具集
2020-07-25 19:54:25swagger家族 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 ...前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无 -
前端接口请求的几种方式
2019-10-05 01:17:01前端接口请求方式一: jquery.ajax 用法: jQuery.ajax([settings]) $.ajax({ url:"",//请求的url地址 success:function(req){ //请求成功 }, error:function(){ //请求出错 }, ... -
SpringBoot集成knife4j实现Swagger接口文档
2022-01-05 01:14:55前言:如果你是后台开发,提供restful接口给前端,建议你使用Swagger3提供restful的接口文档自动生成和在线接口调试。knife4j是对Swagger进一步封装,其优化了API文档的UI界面,是本人最推荐的方式。 一、Swagger... -
WEB前端请求接口的多种方式,你知道吗?(marksheng)
2021-04-13 21:48:41前端接口请求方式一: jquery.ajax 用法: jQuery.ajax([settings]) $.ajax({ url:"",//请求的url地址 success:function(req){ //请求成功 }, error:function(){ //请求出错 }, complete:function(){ //...