| Version 14 (modified by leijingtang, 14 years ago) (diff) |
|---|
亲子宝典APP项目接口
目录
1. 基本约定
1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。
2.当接口处理异常时,HTTP STATUS CODE 返回给500,并且给出具体的错误信息。
{
"uri" : "/intf/albums-by-type.jsp",
"error-code":"20502",
"error-desc":"Need you follow uid.",
"user-notice":"给用户的提示放在这里"
}
3.接口默认的字符编码是UTF-8,接口需要实现对req-enc和resp-enc参数的支持。在JSP的最顶部,实现类似下面的代码:
String queryString = request.getQueryString();
String requestEncoding = getParam(queryString,"req_enc");
String responseEncoding = getParam(queryString,"resp_enc");
if(isNotBlank(requestEncoding)){
request.setCharacterEncoding(requestEncoding);
}
if(isNotBlank(responseEncoding)){
response.setCharacterEncoding(responseEncoding);
}
4.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。
5.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹,并且过滤掉回车换行,对字符串中包含的双引号(")进行转义;是数字类型时,不用引号。
2. WEB接口
==== 2.1 搜索百科 ====
URL:/intf/search.jsp
HTTP请求方式:get
是否需要登录:否
功能说明:
提交参数:
req-enc:请求时字符编码,缺省是UTF-8
resp-enc:响应时字符编码,缺省是UTF-8
返回参数:
{
}
返回参数说明:
排序方式:
2.2 百科分类数据
URL:/intf/qzbd-bk-datas.jsp
HTTP请求方式:get
是否需要登录:否
功能说明:定义 http://www.pcbaby.com.cn/qzbd/ 上的层次关系,对层次关系的深度不作限制。该接口能够返回指定层级的节点集合。
提交参数:level:节点的层级,如果该参数没有时,返回全部的节点数据
req-enc:请求时字符编码,缺省是UTF-8
resp-enc:响应时字符编码,缺省是UTF-8
返回参数:
{
"items":{
"323":{
"level":1,
"seq":1,
"name":"亲子百科",
"type":"node"
},
"324":{
"level":2,
"seq":2,
"name":"怀孕百科",
"type":"node"
},
"326":{
"level":2,
"seq":3,
"name":"生男生女",
"type":"article"
}
},
"relations":{
"$node id value1":[
423,
34,
344,
3434
],
"$node id value2":[
423,
34,
344,
3434
]
}
}
返回参数说明:
id:节点ID
level:节点的层次,1表示根节点。
seq:节点的顺序,同级节点之间的显示顺序。从1开始
name:节点名称
type:节点类型,node表示该节点的下级还是一个节点,article表示该节点的下级已经是文章ID
$node id value:节点ID的值。以节点ID的值作为key,该节点的子节点集合作为value,建立节点之间的关联关系,实现节点的向下遍历。
排序方式:
无。
2.3 时间轴数据
URL:/intf/qzbd-time-datas.jsp
HTTP请求方式:get
是否需要登录:否
功能说明:时间轴数据的接口。该接口是一个字典接口,key是时间轴上的时间节点,value是该节点下的数据内容。对应一个指定的日期,就能通过算法将
其转换成时间轴上的一个节点,采用字典的方式存储,有利于数据的访问。
提交参数:
req-enc:请求时字符编码,缺省是UTF-8
resp-enc:响应时字符编码,缺省是UTF-8
返回参数:
{
"$timeid": [
{
"part":"怀孕阶段",
"stage": "新生儿",
"section": "第一周",
"url":"http://www.pcbaby.com.cn/qzbd/hysjd/hy1week/",
"contents": [
{
"seq": 1,
"name": "育儿概况",
"value": ""
},
{
"seq": 2,
"name": "免疫提醒",
"value": ""
}
]
}
],
"$timeid": [
{
"part":"怀孕阶段",
"stage": "新生儿",
"section": "第二周",
"url":"http://www.pcbaby.com.cn/qzbd/hysjd/hy1week/",
"contents": [
{
"seq": 1,
"name": "育儿概况",
"value": ""
},
{
"seq": 2,
"name": "免疫提醒",
"value": ""
}
]
}
]
}
返回参数说明:
$timeid:根据指定日期,通过算法计算出来的时间轴节点。
part:时间轴的阶段,主要分为怀孕阶段和育儿阶段
stage:时间轴不同阶段下的不同时期。例如怀孕阶段的怀孕一个月,怀孕2个月;育儿阶段的新生儿、婴儿、幼儿等。
section:时间轴上不同时期的具体时间节点,在怀孕时期、新生儿和婴儿时期是以周为单位,幼儿时期是以月为单位,学龄前时期以季度为单位。
url:分享的URL,该URL是WEB内容对应的地址。
contents:包含该时间轴节点下的数据内容,是一个数组。数组中的每个元素由seq,name,value三部分组成。
seq:该元素在数值中的顺序号,不能重复。
name:数据内容的名称。
value:数据内容。
排序方式:
无。
2.x XXXX
URL:/intf/xxxx.jsp
HTTP请求方式:get
是否需要登录:否
功能说明:
提交参数:
req-enc:请求时字符编码,缺省是UTF-8
resp-enc:响应时字符编码,缺省是UTF-8
返回参数:
{
}
返回参数说明:
排序方式:
修改历史
2012-08-30:
-删除搜索接口,因为搜索面向百科文章,这部分数据存在本地拷贝。
2012-08-21:
-创建
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)