| | 1 | [[TOC]] |
| | 2 | |
| | 3 | == 1.基本约定 == |
| | 4 | {{{ |
| | 5 | 1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。 |
| | 6 | |
| | 7 | 2.当接口处理异常时,HTTP STATUS CODE 返回给500,并且给出具体的错误信息。 |
| | 8 | { |
| | 9 | "uri" : "/intf/albums-by-type.jsp", |
| | 10 | "error-desc":"Need you follow uid.", |
| | 11 | "user-notice":"给用户的提示放在这里" |
| | 12 | } |
| | 13 | |
| | 14 | |
| | 15 | 3.接口默认的字符编码是UTF-8,接口需要实现对req_enc和resp_enc参数的支持。在JSP的最顶部,实现类似下面的代码: |
| | 16 | 注意:需要用getQueryString(),不能用getParameter() |
| | 17 | String queryString = request.getQueryString(); |
| | 18 | String reqEnc = getQueryValue(queryString,"req_enc="); |
| | 19 | if(reqEnc!=null){ |
| | 20 | request.setCharacterEncoding(reqEnc); |
| | 21 | } |
| | 22 | String respEnc = getQueryValue(queryString,"resp_enc="); |
| | 23 | if(respEnc!=null){ |
| | 24 | //out.println(respEnc); |
| | 25 | response.setCharacterEncoding(respEnc); |
| | 26 | } |
| | 27 | String getQueryValue(String queryString,String key){ |
| | 28 | if(queryString==null || queryString.length()==0)return null; |
| | 29 | int reqIdx = queryString.indexOf(key);//req_enc=utf-8&resp_enc=gbk |
| | 30 | if(reqIdx!=-1){ |
| | 31 | reqIdx = reqIdx+key.length(); |
| | 32 | int endIdx = reqIdx; |
| | 33 | for (; |
| | 34 | endIdx < queryString.length() && queryString.charAt(endIdx)!='&'; |
| | 35 | endIdx++) { |
| | 36 | } |
| | 37 | if(endIdx>reqIdx){ |
| | 38 | return queryString.substring(reqIdx,endIdx); |
| | 39 | } |
| | 40 | } |
| | 41 | return null; |
| | 42 | } |
| | 43 | |
| | 44 | 4.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。 |
| | 45 | |
| | 46 | 5.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号。 |
| | 47 | |
| | 48 | 6.需要登录的接口,cache-control=600 ;分开优先级低和主动请求两种,前者用cacheFirst,后者用noCache |
| | 49 | |
| | 50 | 接口URL: 接口URL |
| | 51 | 必填参数:参数名=xxx(多种情况用括号解析) |
| | 52 | 非必填参数:参数名=xxx(多种情况用括号解析) |
| | 53 | 说明文档参数:添加某特定参数可以直接看接口文档 |
| | 54 | 是否需要登录:是,否 |
| | 55 | 返回格式:json,ssi,xml |
| | 56 | 缓存方式:接口缓存,对象缓存 |
| | 57 | 缓存时间:缓存时间 |
| | 58 | 返回结果:结果可能情况 |
| | 59 | }}} |
| | 60 | |
| | 61 | |
| | 62 | == 2.接口列表 == |
| | 63 | |
| | 64 | === 2.1 [=#point201 头像以及昵称修改]=== |
| | 65 | {{{ |
| | 66 | 修改昵称 |
| | 67 | 接口URL:http://my.pcauto.com.cn/intf/syncNickName.jsp |
| | 68 | |
| | 69 | 必填参数: |
| | 70 | act:save |
| | 71 | nickName:昵称 |
| | 72 | |
| | 73 | 提交方式:POST |
| | 74 | 是否需要登录:是 |
| | 75 | 返回格式:json |
| | 76 | 缓存方式:无 |
| | 77 | 缓存时间:无 |
| | 78 | 返回结果:{"code":0}表示成功, {"code":非0,"message":"提示"} |
| | 79 | |
| | 80 | 修改头像 |
| | 81 | 接口URL:http://upc.pcauto.com.cn/upload_head.jsp |
| | 82 | |
| | 83 | 必填参数: |
| | 84 | 无 |
| | 85 | |
| | 86 | 提交方式:POST |
| | 87 | 是否需要登录:是 |
| | 88 | 返回格式:json |
| | 89 | 缓存方式:无 |
| | 90 | 缓存时间:无 |
| | 91 | 返回结果: 成功:{retCode: 0} 失败:{retCode: xxx} |
| | 92 | }}} |