五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

TShock高階應(yīng)用:REST API

2021-04-26 23:13 作者:hufang360  | 我要投稿

簡(jiǎn)單來(lái)說(shuō)這是一種全新的給服務(wù)器下達(dá)指令的方法,只需在瀏覽器輸入連接即可。

REST,即Representational State Transfer的縮寫(xiě),大意是"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。它是前后端分離最佳實(shí)踐,是開(kāi)發(fā)的一套規(guī)范,不是框架。

開(kāi)啟REST功能

將config.json中的“RestApiEnabled”改為true,重新開(kāi)服。

在瀏覽器訪(fǎng)問(wèn) “http://127.0.0.1:7878”。如果是服務(wù)器,請(qǐng)將127.0.0.1改成你服務(wù)器的ip,你將看到如下內(nèi)容:

獲得token(令牌)

訪(fǎng)問(wèn)“http://127.0.0.1:7878/v2/token/create?username=hf&password=1234”,請(qǐng)將 hf 和 1234 是你服務(wù)器里的玩家名和對(duì)應(yīng)的密碼。

如下圖所示,“2251F1D......56A63”就是token,接下來(lái)的很多操作都需要提供token。

測(cè)試token

訪(fǎng)問(wèn)“http://127.0.0.1:7878/tokentest?token=xxx”可以測(cè)試token是否有效,status為200說(shuō)明有效,status為403說(shuō)明無(wú)效。



token持久化

通過(guò)上述方式生成token,將在服務(wù)器重啟后失效。要想token持久有效,可以直接寫(xiě)進(jìn)config.json里,下面是配置參考。

如下圖所示,你可以設(shè)置1個(gè)或多個(gè)token,甚至可以將token定義成 simpleToken 這種,方便記憶,但為了安全,最好弄一個(gè)別人猜不到的token。token對(duì)應(yīng)的用戶(hù)名和用戶(hù)所屬組,應(yīng)正確填寫(xiě)。





案例1:查詢(xún)?cè)诰€(xiàn)玩家

通過(guò)“/lists/players”可以查詢(xún)?cè)诰€(xiàn)玩家,http://127.0.0.1:7878/lists/players?token=simpleToken。

案例2:執(zhí)行命令行指令

要查詢(xún)?cè)诰€(xiàn)玩家情況,還可以通過(guò)“/v3/server/rawcmd”接口,讓服務(wù)器執(zhí)行命令行指令,并返回命令行輸出。http://127.0.0.1:7878/v3/server/rawcmd?token=simpleToken&cmd=/playing。

此接口如萬(wàn)金油般地存在,命令行上能做的接口都能做。而且對(duì)于服主和玩家來(lái)說(shuō)指令反而比接口要更加親切。

實(shí)踐:重置密碼

目前我還不知道如何查看用戶(hù)的密碼,有聯(lián)機(jī)的小伙伴忘記密碼,我只能通過(guò)編輯tshock.sqlite數(shù)據(jù)庫(kù),復(fù)制一個(gè)新的人物給他,但是接口提供了重置密碼的可能。

通過(guò)“/v2/users/update”接口重置用戶(hù)密碼,http://127.0.0.1:7878/v2/users/update?token=simpleToken&user=hf&password=1234


更多接口

官方文檔列舉了不少接口,但個(gè)人覺(jué)得實(shí)用性并不強(qiáng),很多功能都可以通過(guò) rawcmd 接口來(lái)實(shí)現(xiàn),感興趣的可以去官方文檔查詢(xún)。

官方文檔:https://tshock.readme.io/reference

轉(zhuǎn)載:https://www.yuque.com/hufang/bv/reference


更多接口:VSCode

REST API非常有規(guī)律,但一個(gè)個(gè)的參數(shù)拼接起來(lái)后,地址就變得很長(zhǎng),不易閱讀,很容易出錯(cuò)。

實(shí)際測(cè)試,有使用兩個(gè)工具。一個(gè)是 VSCode + REST Client,另一個(gè)是 Postman。我用這這兩個(gè)工具測(cè)試了將近全部接口,大家可以拿來(lái)測(cè)試,以了解接口使用和特性。


REST Client是一個(gè)VSCode插件,可以在VSCode搜索安裝。


安裝好插件后,新建例如 “TShock-REST-API.http”的文檔,其中“.http”是文件的擴(kuò)展名,然后將下面的代碼粘貼進(jìn)去

所有的接口都保存在這一個(gè) http 文件里,點(diǎn)擊鏈接上方的 “Send Request”文字超鏈接,可以執(zhí)行接口請(qǐng)求,并且在右側(cè)面板會(huì)返回請(qǐng)求結(jié)果。



更多接口:Postman

相比VSCode加插件的方式,Postman使用起來(lái)更加清晰優(yōu)雅,壞處就是錄入比較麻煩,而且工具使用起來(lái)也有一點(diǎn)門(mén)檻。為了讓大家能上手使用,我將所有接口導(dǎo)出成json了,在Postman里點(diǎn)擊Import按鈕,選擇json進(jìn)行導(dǎo)入。



VSCode 和 Postman 的測(cè)試物料以及安裝包都放網(wǎng)盤(pán)了

鏈接:https://pan.baidu.com/s/1jE3GAK3STdkJL1YgvwD8fw

提取碼:rest


TShock高階應(yīng)用:REST API的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
石首市| 蚌埠市| 儋州市| 嘉鱼县| 保康县| 许昌县| 宽甸| 咸宁市| 长岛县| 额尔古纳市| 攀枝花市| 南部县| 磐安县| 平罗县| 德惠市| 江川县| 大埔县| 大悟县| 榆树市| 平原县| 祥云县| 霞浦县| 子长县| 伊宁县| 伊金霍洛旗| 嵩明县| 峨山| 南召县| 石阡县| 图木舒克市| 亚东县| 磐安县| 宜川县| 潼南县| 黎平县| 丹寨县| 湖州市| 凯里市| 苍溪县| 江阴市| 广灵县|