[[TOC]] == 1.基本约定 == {{{ 1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。 2.当接口处理异常时,HTTP STATUS CODE 返回给500,并且给出具体的错误信息。 { "uri" : "/intf/albums-by-type.jsp", "error-desc":"Need you follow uid.", "user-notice":"给用户的提示放在这里" } 3.接口默认的字符编码是UTF-8,接口需要实现对req_enc和resp_enc参数的支持。在JSP的最顶部,实现类似下面的代码: 注意:需要用getQueryString(),不能用getParameter() String queryString = request.getQueryString(); String reqEnc = getQueryValue(queryString,"req_enc="); if(reqEnc!=null){ request.setCharacterEncoding(reqEnc); } String respEnc = getQueryValue(queryString,"resp_enc="); if(respEnc!=null){ //out.println(respEnc); response.setCharacterEncoding(respEnc); } String getQueryValue(String queryString,String key){ if(queryString==null || queryString.length()==0)return null; int reqIdx = queryString.indexOf(key);//req_enc=utf-8&resp_enc=gbk if(reqIdx!=-1){ reqIdx = reqIdx+key.length(); int endIdx = reqIdx; for (; endIdx < queryString.length() && queryString.charAt(endIdx)!='&'; endIdx++) { } if(endIdx>reqIdx){ return queryString.substring(reqIdx,endIdx); } } return null; } 4.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。 5.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号。 6.需要登录的接口,cache-control=600 ;分开优先级低和主动请求两种,前者用cacheFirst,后者用noCache }}} == 2.接口列表 == === 2.1 [=#point201 车系相关文章列表]=== {{{ url: http://mrobot.pcauto.com.cn/v3/price/getNewsListBySerialId/3524?pageNo=1&pageSize=20 http://mrobot.pcauto.com.cn/v3/price/getProfileListBySerialId/3524?pageNo=1&pageSize=20 http://mrobot.pcauto.com.cn/v3/price/getGuideListBySerialId/3524?pageNo=1&pageSize=20 http://mrobot.pcauto.com.cn/v3/price/getArticlePriceListBySerialId/3524?pageNo=1&pageSize=20&areaId=1 作用:获取某个车系下的文章列表,在原来的基础上添加顶踩数 使用范围:汽车网app HTTP请求方式:get 是否需要登录:否 请求参数:none 设计稿: 返回参数: [ { "channel":"汽车报价", "commentNum":"0", "id":"3590182", "image":"http://img.pconline.com.cn/images/upload/upc/tx/auto5/1210/01/c0/14229062_14229062_1349107127921_500.jpg", "pubDate":"2013-12-16 00:15:39", "title":"奥迪A4L广州优惠4万元 让利幅度已收紧", "ups":123, "downs":123 } ] }}} === 2.2 [=#point202 伪造顶踩数] === {{{ http://mrobot.pcauto.com.cn/v2/cms/channels/1?pageNo=1&pageSize=20&serialIds=2143,3404&v=4.0.0 http://mrobot.pcauto.com.cn/v2/cms/channels/55555?pageNo=1&pageSize=20&areaId=1&v=4.0.0 http://mrobot.pcauto.com.cn/v2/cms/channels/2?pageNo=1&pageSize=20&v=4.0.0 http://mrobot.pcauto.com.cn/v2/cms/serialMixedData/2143?pageNo=1&pro=%E5%B9%BF%E4%B8%9C%E7%9C%81&city=%E5%B9%BF%E5%B7%9E%E5%B8%82&v=4.0.0 http://mrobot.pcauto.com.cn/v3/bbs/hot?pageNo=1&pageSize=20 http://mrobot.pcauto.com.cn/v3/bbs/newForums/17369?pageNo=1&pageSize=19&orderby=postat http://mrobot.pcauto.com.cn/v3/price/getNewsListBySerialId/3524?pageNo=1&pageSize=20 http://mrobot.pcauto.com.cn/v3/price/getProfileListBySerialId/3524?pageNo=1&pageSize=20 http://mrobot.pcauto.com.cn/v3/price/getGuideListBySerialId/3524?pageNo=1&pageSize=20 http://mrobot.pcauto.com.cn/v3/price/getArticlePriceListBySerialId/3524?pageNo=1&pageSize=20&areaId=1 对以上接口的顶踩数分别乘以50 }}} === 2.3 [=#point203 推荐图集]=== {{{ url:todo 作用:滚动到图集最后一张图后显示推荐图集 使用范围:汽车网app HTTP请求方式:get 是否需要登录:否 请求参数:none 设计稿: 返回参数: [ { "id":123, // 图集id "image":"http://111111", // 图集封面图,尺寸待定 } ] }}} === 2.4 [=#point204 左侧栏菜单]=== {{{ url:todo 作用:获取左侧栏菜单,在原来的基础上添加广告数据;如果是广告数据则添加对应的计数字段,否则不变。 使用范围:汽车网app HTTP请求方式:get 是否需要登录:否 请求参数:none 设计稿: 返回参数: [ { "id":1, "img":"http://www1.pcauto.com.cn/mobile/ceshi/home.png", "title":"首页", "view":"information-home/", "url":"", "vc-uri":"", "cc-uri":"", "vc3d-uri":"", "cc3d-uri":"" } ] }}} == 3.开发时间、负责人、进度和实现方式== ||批次||= 页面 =||= 涉及MROBOT接口 =||=是否需要[[BR]]HTML切图 =||= 需配合的接口负责人[[BR]]及进度 =||= 接口开发[[BR]]预计时间 =||=接口进度(百分比)=||=接口实际[[BR]]完成时间=||=实现方式=|| ||第一批|| 首页 ||2.1 [#point201 左侧主菜单 ] ||- || - || - || 已上线 || - || madmin配置