秒殺系統API介面設計

2021-10-06 20:12:03 字數 3364 閱讀 2659

1 前言

1.1 編寫目的

1.2 背景

2 綜述

2.1 統一輸出引數

2.2 必須登入才能訪問的介面

2.3 錯誤返回碼列表

3 使用者介面

3.1使用者登入

4 商品介面

4.1 商品列表介面

4.2 商品詳情介面

5 秒殺介面

5.1秒殺

該專案採用前後端分離的技術,編寫該系統說明書是為了更好的明確該系統功能和進行規範化開發,同時為前後端整合、後期專案驗收做重要的參考文件。

該api介面設計說明書描述的是秒殺系統。

表2-1 response引數資訊

引數名型別

是否必須

描述code

int是

狀態碼msg

string

是返回提示

datat否

返回資訊

注:t為泛型表示任意型別

表2-2登入才能訪問介面

介面名稱

描述/miaosha/do_miaosha

秒殺功能

表2-3 錯誤返回碼列表

code

msg500100

服務端異常

500101

引數校驗異常:%s

500210

session不存在或已經失效

500211

登入密碼不能為空

500212

手機號不能為空

500213

手機號格式錯誤

500214

手機號不存在

500215

密碼錯誤

500216

驗證碼為空

500217

驗證碼錯誤

500500

商品已經秒殺完畢

500501

不能重複秒殺

注:%s後端將自動填充,前端接收到的為完整字串如:「引數校驗異常:手機號碼格式有誤」

介面:/login/do_login

描述:使用者登入

校驗:session

方法:get/post

表3-1 使用者登入request引數

引數名型別

是否必須

描述mobile

string

是手機號

password

string是密碼

verifyinput

string

否驗證碼

ifyzm

int否

是否需要驗證碼

注:當ifyzm為0時需要填寫驗證碼,噹噹ifyzm為1時不需要填寫驗證碼

表3-2 使用者登入response引數

引數名型別

是否必須

描述code

int是

狀態碼msg

string

是返回提示

data

boolean

是是否登入成功

登入成功後將返回token記錄到cookie

介面:/goods/ to_list

描述:商品列表

校驗:session

方法:get/post

requst不需要傳入引數,返回商品列表資訊,通過model 進行資料傳遞goodslist

表4-1 商品列表response引數

引數名型別

是否必須

描述goodslist

list

是商品列表資訊

goods. goodsname

string

是商品名字

goods. goodsimg

string

是商品**

goods. goodsprice

double

是商品**

goods. miaoshaprice

double

是秒殺**

goods. stockcount

integer是庫存

goods. id

long

是商品id

介面:/goods/to_detail/

描述:商品詳情

校驗:session

方法:get/post

表4-2 商品詳情request引數

引數名型別

是否必須

描述goodsid

long

是商品id

返回商品詳情資訊,通過model 進行資料傳遞goods

表4-3 商品詳情response引數

引數名型別

是否必須

描述goods.startdate

date

是秒殺開始時間

goods. goodsname

string

是商品名字

goods. goodsimg

string

是商品**

goods. goodsprice

double

是商品原**

goods. miaoshaprice

double

是秒殺**

goods. stockcount

integer是庫存

goods. id

long

是商品id

miaoshastatus

int是

秒殺狀態

remainseconds

int是

秒殺倒計時(s)

注:秒殺狀態:0表示還未開始、1表示進行中、2表示秒殺結束

介面:/miaosha/ do_miaosha

描述:秒殺

校驗:session

方法:get/post

表5-1 商品詳情request引數

引數名型別

是否必須

描述goodsid

long

是商品id

秒殺結束返回訂單資訊和商品資訊,通過model 進行資料傳遞goods、orderinfo

表5-2 使用者登入response引數

引數名型別

是否必須

描述goods. goodsname

string

是商品名字

goods. goodsimg

string

是商品**

orderinfo.goodsprice

double

是訂單**

orderinfo.createdate

date

是下單時間

orderinfo.status

integer

是訂單狀態

注:訂單狀態:0未支付、1待發貨、2已發貨、3已收貨、4已退款、5已完成

api介面設計

請求模式也可以說是動作 資料傳輸方式,通常我們在web中的form有get post兩種,而在http中,存在下發這幾種。get 選擇 從伺服器上獲取乙個具體的資源或者乙個資源列表。post 建立 在伺服器上建立乙個新的資源。put 更新 以整體的方式更新伺服器上的乙個資源。patch 更新 只更新...

API介面設計

請求模式也可以說是動作 資料傳輸方式,通常我們在web中的form有get post兩種,而在http中,存在下發這幾種。get 選擇 從伺服器上獲取乙個具體的資源或者乙個資源列表。post 建立 在伺服器上建立乙個新的資源。put 更新 以整體的方式更新伺服器上的乙個資源。patch 更新 只更新...

API介面設計

目前 基本都是前後端分離的模式,如果前端使用vue等框架會產生跨域的問題,當產生跨域的時候,乙個介面會被訪問兩次,第一次會使用options訪問來判斷介面是否通,接下來才會使用指定的請求方式來訪問,那麼這樣怎麼辦呢?我們的共有controller就派上用場了,共有控制器裡面的建構函式 public ...