Changes between Initial Version and Version 1 of web-intf-2


Ignore:
Timestamp:
12/30/2011 04:56:06 PM (14 years ago)
Author:
leijingtang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • web-intf-2

    v1 v1  
     1== 摄影部落IPAD版接口 == 
     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-code":"20502", 
     11        "error-desc":"Need you follow uid.", 
     12        "user-notice":"给用户的提示放在这里" 
     13    } 
     14 
     15     
     163.接口默认的字符编码是UTF-8,接口需要实现对req-enc和resp-enc参数的支持。在JSP的最顶部,实现类似下面的代码: 
     17 
     18        String queryString = request.getQueryString(); 
     19        String requestEncoding = getParam(queryString,"req_enc"); 
     20        String responseEncoding = getParam(queryString,"resp_enc"); 
     21        if(isNotBlank(requestEncoding)){ 
     22            request.setCharacterEncoding(requestEncoding); 
     23        } 
     24        if(isNotBlank(responseEncoding)){ 
     25            response.setCharacterEncoding(responseEncoding); 
     26        } 
     27 
     284.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。 
     29 
     305.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号。 
     31 
     32}}} 
     33 
     34 
     35 
     36== 2. 接口列表  == 
     37 
     38=== 2.1 http://dp.pconline.com.cn/intf/ipad/albums-by-type.jsp  获取分类相册 === 
     39{{{ 
     40    HTTP请求方式:get                          
     41    是否需要登录:否                           
     42    请求参数:page-no:请求的页码,第一次为1。 
     43              page-size:每个页面的记录数。    
     44              album-type:相册类型(人像:portrait,风光:landscape,生态:nature,纪实:documentary,其他:other)  
     45              pick: 精华作品(0否,1是;默认为否) 
     46              recommend :推荐作品(0否,1是;默认为否) 
     47              order-by:排序字段(by-time(按时间逆序,默认用这个排序),by-clicks(按点击量逆序),by-recommend-time(按推荐时间逆序,仅仅在recommend=1是有效)) 
     48              req-enc:请求时字符编码,缺省是UTF-8   
     49              resp-enc:响应时字符编码,缺省是UTF-8  
     50              time: 搜索时间范围的作品,默认time=365(即一年内的) 
     51 
     52    返回参数:  
     53    { "page-no":1, 
     54      "page-size":10, 
     55      "total":100, 
     56      "album-type":"nature", 
     57      "order-by":"by-clicls", 
     58      "albums":[{"uid":2323, 
     59                "small-img-src":"http://img.pconline.com.cn/123.jpg", 
     60                "album-id":1233, 
     61                "theme":"拍摄主题", 
     62                "album-name":"图集名称", 
     63                "nickname":"摄影师昵称", 
     64                "is-picked":0, 
     65                "is-recommend":0, 
     66                "create-time":"yyyy-mm-dd hh:mi", 
     67                "vote":2233, 
     68                "clicks":2332 
     69                }] 
     70    } 
     71    page-no:请求的页码,第一次为1。 
     72    page-size:每个页面的记录数。 
     73    total:这次查询的记录总数。 
     74    img-src:封面图片URL 
     75    uid:用户id 
     76    album-id:图集ID 
     77    theme:拍摄主题 
     78    album-name:图集名称 
     79    nickname:摄影师昵称 
     80    is-picked:1-精华作品,0-普通作品 
     81    is-recommend:1-版主推荐作品,0-普通作品 
     82    create-time:创建时间 
     83    vote:所得票数 
     84    clicks:点击数 
     85 
     86    排序方式:图集创建时间逆序 
     87}}} 
     88 
     89 
     90=== 2.2 http://dp.pconline.com.cn/intf/ipad/search.jsp === 
     91{{{ 
     92    HTTP请求方式:get 
     93    是否需要登录:否 
     94    请求参数:kw:查询关键字 
     95              req-enc:请求时字符编码,缺省是UTF-8 
     96              resp-enc:响应时字符编码,缺省是UTF-8 
     97              page-no:请求的页码,第一次为1。 
     98              page-size:每个页面的记录数。 
     99              order-by:排序字段(by-time(按时间逆序,默认用这个排序),by-clicks(按点击量逆序)) 
     100              time: 搜索时间范围的作品,默认time=365(即一年内的) 
     101    返回参数: 
     102    {"page-no":1, 
     103     "page-size":10, 
     104     "total":100, 
     105     "order-by":"by-time", 
     106     "kw":"蓝天白云", 
     107     "order-by":"by-time", 
     108     "result":[{"uid":23234, 
     109                "small-img-src":"http://img.pconline.com.cn/123.jpg", 
     110                "album-id":1233, 
     111                "theme":"拍摄主题", 
     112                "album-name":"图集名称", 
     113                "nickname":"摄影师昵称", 
     114                "is-picked":1, 
     115                "create-time":"yyyy-mm-dd hh:mi", 
     116                "vote":232323, 
     117                "clicks":2323 
     118                }] 
     119    } 
     120    page-no:请求的页码,第一次为1。 
     121    page-size:每个页面的记录数。 
     122    total:这次查询的记录总数。 
     123    order-by:结果集的排序方式。 
     124    kw:搜索关键字(采用UTF-8方式编码) 
     125    uid:用户id 
     126    small-img-src:封面图片URL 
     127    album-id:图集ID 
     128    theme:拍摄主题 
     129    album-name:图集名称 
     130    nickname:摄影师昵称 
     131    is-picked:1-精华作品,0-普调作品 
     132    create-time:创建时间 
     133    vote:所得票数 
     134    clicks:点击数 
     135 
     136    排序方式:图集创建时间逆序 
     137}}} 
     138 
     139=== 2.3 http://dp.pconline.com.cn/intf/ipad/user-photos.jsp === 
     140 
     141{{{ 
     142    HTTP请求方式:get 
     143    是否需要登录:否 
     144    请求参数:album-id:图集id 
     145              req-enc:请求时字符编码,缺省是UTF-8 
     146              resp-enc:响应时字符编码,缺省是UTF-8 
     147              page-no:请求的页码,第一次为1。 
     148              page-size:每个页面的记录数。 
     149    返回参数:     
     150    {"page-no":1, 
     151     "page-size":10, 
     152     "total":100, 
     153     "uid":2342, 
     154     "logo":"http://upc.pconline.com.cn/23323.jpg", 
     155     "album-name":"图集名称", 
     156     "nickname":"摄影师昵称", 
     157     "is-picked":0, 
     158     "album-id":1233, 
     159     "theme":"拍摄主题", 
     160     "location":"拍摄地点", 
     161     "timer":"拍摄时间(yyyy-mm-dd)", 
     162     "nature":"作品性质", 
     163     "vote":233, 
     164     "clicks":23223, 
     165     "abstruct":"作品概括", 
     166     "photos":[{"photo-id":23234, 
     167                "small-img-src":"http://img.pconline.com.cn/123.jpg", 
     168                "big-img-src":"http://img.pconline.com.cn/123.jpg", 
     169                "exposure":"曝光方式", 
     170                "aperture":"光圈", 
     171                "shutter":"快门", 
     172                "iso":"iso值", 
     173                "ev":"曝光补偿", 
     174                "camera":"相机"} 
     175              ] 
     176    } 
     177 
     178    page-no:请求的页码,第一次为1。 
     179    page-size:每个页面的记录数。 
     180    total:这次查询的记录总数。 
     181    uid:用户id 
     182    logo:用户头像 
     183    album-name:图集名称 
     184    nickname:摄影师昵称 
     185    is-picked:1-精华作品,0-普调作品 
     186    album-id:图集ID 
     187    theme:拍摄主题 
     188    location:拍摄地点 
     189    timer:拍摄时间 
     190    nature:作品性质 
     191    vote:所得票数 
     192    clicks:点击数 
     193    abstruct:作品概括 
     194    photo-id:图片ID 
     195    small-img-src:封面图片URL 
     196    big-img-src:大图URL 
     197    exposure:曝光方式 
     198    aperture:光圈 
     199    shutter:快门 
     200    iso:iso值 
     201    ev:曝光补偿 
     202    camera:相机 
     203 
     204    排序方式:按图集保存的顺序,和WEB上的图片显示顺序保持一致 
     205}}} 
     206 
     207=== 2.4 http://dp.pconline.com.cn/intf/ipad/user-albums.jsp === 
     208{{{ 
     209    HTTP请求方式:get 
     210    是否需要登录:否 
     211    提交参数:uids:被关注的用户id集合,id之间用逗号分隔。例如(233,233232,434334,554,556534) 
     212              page-no:单个作者的图集分页页码 
     213              page-size:单个作者的图集分页数量 
     214              req-enc:请求时字符编码,缺省是UTF-8   
     215              resp-enc:响应时字符编码,缺省是UTF-8  
     216    返回参数: 
     217    {"users":[{"page-size":5, 
     218               "page-no":1, 
     219               "total":1, 
     220               "uid":1212, 
     221               "logo":"http://upc.pconline.com.cn/1233", 
     222               "user-name":"用户名称", 
     223               "nickname":"昵称", 
     224               "user-title":"用户头衔", 
     225               "user-address":"地区", 
     226               "albums":[{"album-id":3232, 
     227                          "small-img-src":"http://dp.pconline.com.cn/3223.jpg", 
     228                          "is-recommend":0}, 
     229                         {"album-id":2343, 
     230                          "small-img-src":"http://dp.pconline.com.cn/3344.jpg", 
     231                          "is-recommend":1 
     232                         }] 
     233             }]  
     234    } 
     235 
     236    page-no:单个作者的图集分页页码 
     237    page-size:单个作者的图集分页数量 
     238    total:单个作者的图集页码总数 
     239    uid:用户ID 
     240    logo:用户头像URL 
     241    user-name:用户名 
     242    nickname:用户昵称 
     243    user-title:用户头衔 
     244    user-address:用户地区 
     245    album-id:图集ID 
     246    small-img-src:图集封面URL 
     247    is-recommend:1-推荐作品,0-普通作品 
     248 
     249    排序方式:1、不同的用户,uids中,uid的先后顺序来进行排列。 
     250              2、同一个用户下的图集,先出个人推荐区的(这里按网站上个人推荐区的顺序排),后出普通图集(按图集发表时间逆序). 
     251    其他:个人推荐区的数据和该用户的图集,数据是重叠的。需要进行数据去处重复的处理。 
     252 
     253}}} 
     254 
     255 
     256=== 2.5 http://dp.pconline.com.cn/intf/ipad/comment-post.jsp === 
     257{{{ 
     258    HTTP请求方式:post 
     259    是否需要登录:否,这里会有匿名评论的情况。 
     260    提交参数:album-id:图集id 
     261              req-enc:请求时字符编码,缺省是UTF-8 
     262              resp-enc:响应时字符编码,缺省是UTF-8 
     263              common_session_id:登录后的session id(非必填参数) 
     264              comment:评论内容 
     265    返回参数: 
     266    {"album-id":223,"comment-id":12233,"comment":"评论内容","timer":"评论时间"} 
     267    album-id:图集id。 
     268    comment-id:评论ID。 
     269    comment:评论正文。 
     270    timer:评论时间。(yyyy-mm-dd hh:mi) 
     271}}} 
     272 
     273=== 2.6 http://dp.pconline.com.cn/intf/ipad/comment-list.jsp === 
     274{{{ 
     275    HTTP请求方式:get 
     276    是否需要登录:否 
     277    提交参数:album-id:图集id 
     278              req-enc:请求时字符编码,缺省是UTF-8 
     279              resp-enc:响应时字符编码,缺省是UTF-8 
     280              page-no:请求的页码,第一次为1。 
     281              page-size:每个页面的记录数。 
     282    返回参数: 
     283    {"page-no":1, 
     284     "page-size":10, 
     285     "total":100, 
     286     "album-id":2323, 
     287     "comments":[{"comment-id":1233, 
     288                  "comment":"评论正文", 
     289                  "timer":"评论时间"}, 
     290                 {"comment-id":1233, 
     291                  "comment":"评论正文", 
     292                  "timer":"评论时间"} 
     293                 ] 
     294    } 
     295    page-no:请求的页码,第一次为1。 
     296    page-size:每个页面的记录数。 
     297    total:这次查询的记录总数。 
     298    album-id:图集id 
     299    comment-id:评论id 
     300    comment:评论正文 
     301    timer:评论时间(格式是 yy-mm-dd hi:mm) 
     302    排序方式:按timer倒序 
     303}}} 
     304 
     305=== 2.7 http://dp.pconline.com.cn/intf/ipad/vote.jsp === 
     306{{{ 
     307    HTTP请求方式:post 
     308    是否需要登录:否 
     309    提交参数:album-id:图集id 
     310              device-id:设备ID 
     311              req-enc:请求时字符编码,缺省是UTF-8   
     312              resp-enc:响应时字符编码,缺省是UTF-8  
     313    其他规则:一个设备,一天内(到当天晚上的23:59:59),只能对单个作品,投票一次 
     314    返回参数: 
     315    {"album-id":2323,"vote":2323} 
     316    album-id:图集ID 
     317    vote:投票数 
     318}}} 
     319 
     320 
     321=== 2.8 /intf/version.json === 
     322{{{ 
     323    {"version":"3.0.1","release-date":"yyyy-mm-dd","release-desc":"发布说明","release-note":"发布的新功能列表"} 
     324 
     325}}} 
     326 
     327=== 2.9 /intf/home.json === 
     328{{{ 
     329     
     330}}} 
     331 
     332=== 2.10 /intf/hot-users.json ===  
     333{{{ 
     334 
     335    HTTP请求方式:get 
     336    是否需要登录:否 
     337    提交参数: 
     338              page-no:单个作者的图集分页页码 
     339              page-size:单个作者的图集分页数量 
     340              req-enc:请求时字符编码,缺省是UTF-8   
     341              resp-enc:响应时字符编码,缺省是UTF-8  
     342    返回参数: 
     343    {"users":[{"page-size":5, 
     344               "page-no":1, 
     345               "total":1, 
     346               "uid":1212, 
     347               "logo":"http://upc.pconline.com.cn/1233", 
     348               "user-name":"用户名称", 
     349               "nickname":"昵称", 
     350               "user-title":"用户头衔", 
     351               "user-address":"地区", 
     352               "albums":[{"album-id":3232, 
     353                          "small-img-src":"http://dp.pconline.com.cn/3223.jpg", 
     354                          "is-recommend":0}, 
     355                         {"album-id":2343, 
     356                          "small-img-src":"http://dp.pconline.com.cn/3344.jpg", 
     357                          "is-recommend":1 
     358                         }] 
     359             }]  
     360    } 
     361 
     362    page-no:单个作者的图集分页页码 
     363    page-size:单个作者的图集分页数量 
     364    total:单个作者的图集页码总数 
     365    uid:用户ID 
     366    logo:用户头像URL 
     367    user-name:用户名 
     368    nickname:用户昵称 
     369    user-title:用户头衔 
     370    user-address:用户地区 
     371    album-id:图集ID 
     372    small-img-src:图集封面URL 
     373    is-recommend:1-推荐作品,0-普通作品 
     374 
     375    排序方式: 
     376              1、同一个用户下的图集,先出个人推荐区的(这里按网站上个人推荐区的顺序排),后出普通图集(按图集发表时间逆序). 
     377 
     378    其他:个人推荐区的数据和该用户的图集,数据是重叠的。需要进行数据去处重复的处理。 
     379 
     380}}} 
     381 
     382== 3. Error Code == 
     383 
     384    [[http://rdtrac.pc.com.cn/ipad-album/wiki/error-code|Error Code]] 
     385 
     386== 4. 修改历史 == 
     3872011-12-16 
     388    - 修改接口2.4({{{http://dp.pconline.com.cn/intf/ipad/user-albums.jsp}}}),使其符合框架ver1.0.4中,page-10的规则。取消is-picked输出结果,增加is-recommend参数。 
     389 
     3902011-12-15: 
     391    - 修改接口2.1(/intf/albums-by-type.jsp),增加time参数 
     392    - 修改接口2.2(/intf/search.jsp),增加time参数 
     393    - 接口正式地址 
     394    - 增加接口2.8(/intf/version.json).这个无需实现,仅仅在发布后用来提醒网友进行版本更新。 
     395 
     3962011-12-13: 
     397    - 修改接口2.1(/intf/albums-by-type.jsp ),增加recommend参数和排序方式。 
     398    - 修正接口2.6(/intf/comment-list.jsp)去掉无用参数,补上分页参数。 
     399    - 完善了Error Code 
     400 
     4012011-12-12: 
     402    - 增加接口2.1( /intf/albums-by-type.jsp )、接口2.2(/intf/search.jsp)中关于排序部分的描述 
     403    - 增加公用错误编码