IOS同步請(qǐng)求API

HTTP

全局規(guī)范

  • URL
    URL的組成:基本的網(wǎng)絡(luò)地址 + 分支節(jié)點(diǎn)
    http://172.19.201.155:8443/datasyn 為 基本的網(wǎng)絡(luò)地址
    /login 為 分支節(jié)點(diǎn)
    http://172.19.201.155:8443/datasyn/login 組成完整的 URL
    當(dāng)前統(tǒng)一的基本網(wǎng)絡(luò)地址為 http://172.19.201.155:8443/datasyn

  • 請(qǐng)求方式
    |POST
    |GET

  • 請(qǐng)求消息頭

  • 請(qǐng)求參數(shù)
    鍵值對(duì)(key value形式)
    默認(rèn)都是必選參數(shù)

  • 請(qǐng)求參數(shù)
    鍵值對(duì)(key value形式)

  • 響應(yīng)的狀態(tài)碼
    統(tǒng)一的返回碼為: 200 (注:只要訪問服務(wù)器成功,一律返回200)

  • 響應(yīng)的格式
    Json

  • 響應(yīng)的JSON規(guī)范

  • 成功

{
  "meta": {
    "status": 1,
    "message": "success"
  },
"data": ....
}

成功的標(biāo)記為 status為 1
根據(jù)具體的請(qǐng)求嫉入,如果需要返回值 data節(jié)點(diǎn) 包含的是 返回結(jié)果
不需要需要返回值 熄诡,則沒有data節(jié)點(diǎn)

  • 失敗
{
  "meta": {
    "status": 錯(cuò)誤編碼,
    "message": "錯(cuò)誤原因"
  },
"data": null
}

失敗的標(biāo)記為 status為 除1以外的其它編碼
status不為1時(shí)至非,message為錯(cuò)誤原因

  • 同步數(shù)據(jù)表:user抽减、Usercard、Userlearningstyle速种、usertestcounnt根灯、userresource、userword中符、usertest姜胖,這幾個(gè)表在json中作為key值時(shí)區(qū)分大小寫。必須按照這個(gè)格式寫
  • 軌跡數(shù)據(jù)表:usertest淀散、userlogin右莱,這幾個(gè)表在json中作為key值時(shí)區(qū)分大小寫蚜锨。必須按照這個(gè)格式寫
  • 日期格式:json中傳輸?shù)娜掌诟袷?yyyy-MM-dd HH:mm:ss
    • 注:元數(shù)據(jù)表中的lastModTime為long類型,所以前端應(yīng)該傳輸數(shù)值型值慢蜓。

1.注冊(cè)接口

  • 分支節(jié)點(diǎn) : /user/register
  • 請(qǐng)求方式 : POST
  • 請(qǐng)求參數(shù)
key 類型 說明
loginName String
password String
realName String
sex int 1:代表男亚再,0:代表女
school String 學(xué)校
grade String 班級(jí)
classNum int 年級(jí),值1到6
englishscore int 英語分?jǐn)?shù)晨抡,值1到200
  • 響應(yīng)結(jié)果 :
  • 成功
{
 "meta": {
   "status": 1,
   "message": "success"
 },
 "data": {
   "userId": 22
 }
}
  • 失敗
status message
3 參數(shù)有誤!
2000 用戶已存在

2.登錄接口

  • 分支節(jié)點(diǎn) : /user/login
  • 請(qǐng)求方式 : POST
  • 請(qǐng)求參數(shù)
key 類型 說明
loginName String
password String
synDevice String 設(shè)備標(biāo)識(shí)
  • 響應(yīng)結(jié)果 :
  • 成功
{
 "meta": {
   "status": 1,
   "message": "success"
 },
 "data": {
   "token": "21:1489385636029",
   "synFlage": 4,
   "message": "有可能有數(shù)據(jù)遺留在當(dāng)前的設(shè)備上"
 }
}
  • 其中synFlage和message的值為
synFlage message
1 同步成功
2 有可能有數(shù)據(jù)遺留在上次操作的設(shè)備上
3 在上次登錄操作的設(shè)備上數(shù)據(jù)同步失敗
4 有可能有數(shù)據(jù)遺留在當(dāng)前的設(shè)備上
5 上次在當(dāng)前設(shè)備上數(shù)據(jù)同步失敗
  • 失敗
status message
2001 參數(shù)有誤!

3.忽略同步提示接口

  • 分支節(jié)點(diǎn) : /syn/ignore
  • 請(qǐng)求方式 : POST
  • 請(qǐng)求參數(shù)
key 類型 說明
token String
synDevice String 設(shè)備標(biāo)識(shí)
  • 響應(yīng)結(jié)果 :
  • 成功
{
 "meta": {
   "status": 1,
   "message": "success"
 },
 "data": null
}
  • 失敗
status message
4 token值無效

4.獲取同步元數(shù)據(jù)接口

  • 分支節(jié)點(diǎn) : /syn/synmetas
  • 請(qǐng)求方式 : POST
  • 請(qǐng)求參數(shù)
key 類型 說明
token String
json String json格式數(shù)據(jù)
  • json格式數(shù)據(jù)格式
    • 其中synTable的值不區(qū)分大小寫氛悬。且synId、userId字段屬于無關(guān)字段(即不會(huì)起任何作用)
{   
  "tablemeta":[ 
  {"synId":1,"synTable":"user",  "userId": 111,  "version":0,  "lastModTime":null },    
  {"synId":1, "synTable":"Usercard", "userId": 111,"version":0, "lastModTime":null},        
  {"synId":1, "synTable":"Userlearningstyle","userId": 111,"version":0,"lastModTime":null}, 
  { "synId":1,"synTable":"usertestcount", "userId": 111, "version":0, "lastModTime":null }, 
  { "synId":1,"synTable":"userresource", "userId": 111, "version":0, "lastModTime":null }, 
  { "synId":1,"synTable":"usertest",  "userId": 111, "version":0,  "lastModTime":null },
  { "synId":1,"synTable":"userword",  "userId": 111,"version":0,  "lastModTime":null   }    
  ]             
}
  • 響應(yīng)結(jié)果 :
  • 成功
{
 "meta": {
   "status": 1,
   "message": "success"
 },
 "data": {
   "synTableCount": 7,
   "upsyntable": [],
   "downsyntable": [
     {
       "synTable": "user"
     },
     {
       "synTable": "Usercard"
     },
     {
       "synTable": "Userlearningstyle"
     },
     {
       "synTable": "usertestcount"
     },
     {
       "synTable": "userresource"
     },
     {
       "synTable": "usertest"
     },
     {
       "synTable": "userword"
     }
   ]
 }
}
  • 失敗
status message
3 參數(shù)有誤
4 token值無效
5 json數(shù)據(jù)格式或者數(shù)據(jù)類型有誤!

5.數(shù)據(jù)同步接口

  • 分支節(jié)點(diǎn) : /syn/syntabledata
  • 請(qǐng)求方式 : POST
  • 請(qǐng)求參數(shù)
key 類型 說明
token String
json String json格式數(shù)據(jù)
  • json格式數(shù)據(jù)格式
    • 其中synTable的值不區(qū)分大小寫耘柱。tableData中的user等key值不區(qū)分大小寫如捅。
{   
  "downSynTable":[
     {"synTable":"usertestcount"},
     {"synTable":"userresource"}
    ], 
   "tableData":{
     "Userlearningstyle":[
       {"userLearningStyleId":1,"userId":111,"style1":1,"style2":2}
     ],
     "Usercard":[
       {"userCardId":1,"cardclick1":1,"cardclick2":1,"cardclick3":2,"cardclick4":2,"userId":111}
     ],
     "usertest":[
       {"userTestId":1,"userId":111,"answertimes":3,"righttimes":2,"testinTime":"2017-03-25 15:58:23","testoutTime":"2017-03-25 17:18:07","testtype":1,"wrongtimes":1,"word":"apple"},
       {"userTestId":1,"userId":111,"answertimes":4,"righttimes":6,"testinTime":"2017-03-25 15:58:23","testoutTime":"2017-03-25 17:18:07","testtype":1,"wrongtimes":1,"word":"banana"},
       {"userTestId":1,"userId":111,"answertimes":5,"righttimes":7,"testinTime":"2017-03-25 15:58:23","testoutTime":"2017-03-25 17:18:07","testtype":1,"wrongtimes":1,"word":"orange"},
       {"userTestId":1,"userId":111,"answertimes":6,"righttimes":3,"testinTime":"2017-03-25 15:58:23","testoutTime":"2017-03-25 17:18:07","testtype":1,"wrongtimes":1,"word":"tomato"}
     ]
   } 
}
  • 響應(yīng)結(jié)果 :
  • 成功
{
 "data": {
   "tableData": {
     "userresource": [
       {
         "learncount": 12,
         "learntimenow": 2,
         "learntimes": 2,
         "rType": 2,
         "resourceId": 2,
         "rloginTime": "2017-03-25 15:58:23",
         "rlogoutTime": "2017-03-25 17:18:07",
         "userId": 111,
         "userResourceId": 30,
         "word": "rice"
       },
       {
         "learncount": 4,
         "learntimenow": 6,
         "learntimes": 2,
         "rType": 3,
         "resourceId": 3,
         "rloginTime": "2017-03-25 15:26:27",
         "rlogoutTime": "2017-03-25 16:56:12",
         "userId": 111,
         "userResourceId": 31,
         "word": "mike"
       },
       {
         "learncount": 8,
         "learntimenow": 3,
         "learntimes": 2,
         "rType": 4,
         "resourceId": 4,
         "rloginTime": "2017-03-25 15:35:23",
         "rlogoutTime": "2017-03-25 16:39:28",
         "userId": 111,
         "userResourceId": 32,
         "word": "pen"
       },
       {
         "learncount": 6,
         "learntimenow": 4,
         "learntimes": 2,
         "rType": 5,
         "resourceId": 5,
         "rloginTime": "2017-03-25 15:25:23",
         "rlogoutTime": "2017-03-25 16:12:08",
         "userId": 111,
         "userResourceId": 33,
         "word": "coke"
       }
     ],
     "usertestcount": [
       {
         "test1count": 3,
         "test1rightcount": 5,
         "test2count": 1,
         "test2rightcount": 3,
         "test3count": 2,
         "test3rightcount": 3,
         "test4count": 2,
         "test4rightcount": 3,
         "testcount": 1,
         "testrightcount": 3,
         "userId": 111,
         "usertestcountId": 15
       }
     ]
   },
   "tableMeta": [
     {
       "lastModTime": 1489653263431,
       "synId": 162,
       "synTable": "user",
       "userId": 111,
       "version": 8
     },
     {
       "lastModTime": 1489655096628,
       "synId": 163,
       "synTable": "Usercard",
       "userId": 111,
       "version": 7
     },
     {
       "lastModTime": 1489655096631,
       "synId": 164,
       "synTable": "Userlearningstyle",
       "userId": 111,
       "version": 7
     },
     {
       "lastModTime": 1489653263439,
       "synId": 165,
       "synTable": "usertestcount",
       "userId": 111,
       "version": 3
     },
     {
       "lastModTime": 1489653263442,
       "synId": 166,
       "synTable": "userresource",
       "userId": 111,
       "version": 3
     },
     {
       "lastModTime": 1489655096635,
       "synId": 167,
       "synTable": "usertest",
       "userId": 111,
       "version": 7
     },
     {
       "lastModTime": 1489653263479,
       "synId": 168,
       "synTable": "userword",
       "userId": 111,
       "version": 3
     }
   ]
 },
 "meta": {
   "message": "success",
   "status": 1
 }
}
  • 失敗
status message
3 參數(shù)有誤
4 token值無效
5 json數(shù)據(jù)格式或者數(shù)據(jù)類型有誤!
3000 數(shù)據(jù)同步失敗, token值有誤

6.軌跡數(shù)據(jù)回收接口

  • 分支節(jié)點(diǎn) : /syn/trackdatas
  • 請(qǐng)求方式 : POST
  • 請(qǐng)求參數(shù)
key 類型 說明
token String
json String json格式數(shù)據(jù)
  • json格式數(shù)據(jù)格式
    • 其中userBehaviour调煎、userLogin不區(qū)分大小寫
{   
  "trackData":{
    "userBehaviour":[
      {"userBehaviourId":1,"userId":24,"dowhat":"打豆豆","dowhen":"2017-03-25 02:36:23","dowhere":5},
      {"userBehaviourId":2,"userId":24,"dowhat":"練習(xí)","dowhen":"2017-03-25 11:58:23","dowhere":3},
      {"userBehaviourId":3,"userId":24,"dowhat":"看視頻","dowhen":"2017-03-25 08:52:23","dowhere":2},
      {"userBehaviourId":4,"userId":24,"dowhat":"看圖片","dowhen":"2017-03-25 12:01:23","dowhere":4}
     ],
    "userLogin":[
      {"userLoginId":1,"userId":24,"loginState":3,"loginTime":"2017-03-25 02:36:23","logoutTime":"2017-03-26 03:32:23"},
      {"userLoginId":1,"userId":24,"loginState":3,"loginTime":"2017-03-25 02:36:23","logoutTime":"2017-03-26 03:32:23"},
      {"userLoginId":1,"userId":24,"loginState":3,"loginTime":"2017-03-25 02:36:23","logoutTime":"2017-03-26 03:32:23"},
      {"userLoginId":1,"userId":24,"loginState":3,"loginTime":"2017-03-25 02:36:23","logoutTime":"2017-03-26 03:32:23"},
      {"userLoginId":1,"userId":24,"loginState":3,"loginTime":"2017-03-25 02:36:23","logoutTime":"2017-03-26 03:32:23"}
     ]
  } 
}
  • 響應(yīng)結(jié)果:
  • 成功
{
  "meta": {
    "status": 1,
    "message": "success"
  },
  "data": null
}
  • 失敗
status message
3 參數(shù)有誤
4 token值無效
5 json數(shù)據(jù)格式或者數(shù)據(jù)類型有誤!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末镜遣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子士袄,更是在濱河造成了極大的恐慌悲关,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窖剑,死亡現(xiàn)場(chǎng)離奇詭異坚洽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)西土,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門讶舰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人需了,你說我怎么就攤上這事跳昼。” “怎么了肋乍?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵鹅颊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我墓造,道長(zhǎng)堪伍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任觅闽,我火速辦了婚禮帝雇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛉拙。我一直安慰自己尸闸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吮廉,像睡著了一般苞尝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宦芦,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天宙址,我揣著相機(jī)與錄音,去河邊找鬼踪旷。 笑死曼氛,一個(gè)胖子當(dāng)著我的面吹牛豁辉,可吹牛的內(nèi)容都是我干的令野。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼徽级,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼气破!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起餐抢,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤现使,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后旷痕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碳锈,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年欺抗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了售碳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绞呈,死狀恐怖贸人,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情佃声,我是刑警寧澤艺智,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站圾亏,受9級(jí)特大地震影響十拣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜志鹃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一夭问、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弄跌,春花似錦甲喝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糠溜。三九已至,卻和暖如春直撤,著一層夾襖步出監(jiān)牢的瞬間非竿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工谋竖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留红柱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓蓖乘,卻偏偏與公主長(zhǎng)得像锤悄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嘉抒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第一次操作數(shù)據(jù):用戶id:101用戶名:wangerxiao 注冊(cè)接口 返回?cái)?shù)據(jù): 登錄接口 返回?cái)?shù)據(jù): 請(qǐng)求同步...
    zlcook閱讀 519評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理零聚,服務(wù)發(fā)現(xiàn),斷路器些侍,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,967評(píng)論 6 13
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程隶症,因...
    小菜c閱讀 6,409評(píng)論 0 17
  • 大昭寺前,我虔誠(chéng)注視岗宣, 希望佛能指點(diǎn)迷津蚂会,給予我一些人生的答案。 我問佛:我和他前世可曾遇見耗式? 佛曰:前生已逝胁住,今...
    瑜伽閱讀思齊閱讀 319評(píng)論 0 2