Changes between Initial Version and Version 1 of pcauto_4.2.0/interface


Ignore:
Timestamp:
02/19/2014 03:06:06 PM (12 years ago)
Author:
maozhijun
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • pcauto_4.2.0/interface

    v1 v1  
     1[[TOC]] 
     2 
     3== 1.基本约定 == 
     4{{{ 
     51.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。 
     6 
     72.当接口处理异常时,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     
     153.接口默认的字符编码是UTF-8,接口需要实现对req_enc和resp_enc参数的支持。在JSP的最顶部,实现类似下面的代码: 
     16注意:需要用getQueryString(),不能用getParameter() 
     17String queryString = request.getQueryString(); 
     18String reqEnc = getQueryValue(queryString,"req_enc="); 
     19if(reqEnc!=null){ 
     20    request.setCharacterEncoding(reqEnc); 
     21} 
     22String respEnc = getQueryValue(queryString,"resp_enc="); 
     23if(respEnc!=null){ 
     24    //out.println(respEnc); 
     25    response.setCharacterEncoding(respEnc); 
     26} 
     27String 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 
     444.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。 
     45 
     465.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号。 
     47 
     486.需要登录的接口,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必填参数: 
     70act:save 
     71nickName:昵称 
     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}}}