亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何找到我網站的所有 API?

如何找到我網站的所有 API?

Go
慕標琳琳 2023-04-04 14:23:21
首席開發人員上周突然離開了我的公司。API 沒有記錄。所以我正在努力發現每個 API 是什么,然后在 JIRA 中記錄它們。我們使用 Golang 作為后端。我嘗試使用 Charles Proxy、Fiddler、JMeter 和 Chromes 檢查器/網絡,但沒有顯示 API。我有技術限制,我想盡快找到我們所有的 API。我的一位開發人員告訴我下載并安裝 Goland。并指示我執行以下操作"byte.*(okay|StatusOK|Successful) 并mux.獲取nomapi.端點和使用它的端點,但不確定是否所有端點都使用 mux 和 nomapi使用 goland,您可以輕松跳轉到定義,對于不熟悉的代碼非常有用并找到用法”不確定他說的這一切是什么意思。有人能指出我正確的方向嗎?
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

這實際上取決于您的開發人員用來創建 API 的內容。最好的辦法是解析源代碼,而不是使用 Chrome 檢查器之類的工具。您想要找到的是 API 處理程序的路由器。路由器基本上是一種將 API 端點(如/api/v1/login/)映射到處理調用的 Go 函數(適當地稱為處理程序)的結構。但是,不幸的是,根據使用的框架/庫以及代碼的結構,這可能在很多非常不同的地方。所以,雖然我不能給你一個明確的答案,但我可以給你一些建議。

  1. 你將不得不閱讀 Go 代碼。沒有辦法解決它。這并不難,所以不要害怕。

  2. 很有可能有一個或多個名為 route.go 或 routes.go 或 router.go 或類似名稱的文件。如果你發現類似的東西,先看看那里。

  3. 如果找不到任何路由,請使用 Chrome 檢查器的網絡選項卡查看前端調用的 API,然后 grep 端點的代碼。比如說,如果您的前端對 進行 API 調用,請搜索和 的http://api.domain.com/api/v1/accounts/代碼,如果這對 不起作用。運氣好的話,第二次或第三次搜索可能會將您帶到應用程序的根路由器,您將能夠從那里跟蹤它。/accounts//api/v1//api/

  4. 如果您找到一些路由(或路由處理程序),但不是全部,請在文件頂部查找包名稱。如果不是main,特別是如果它被稱為類似routes查找導入此包的任何地方(只需 grep 所有文件中的包名稱并忽略包聲明本身)。

  5. 可能最流行的路由器庫是gorilla mux。檢查代碼是否有任何引用,以防github.com/gorilla/mux它被使用。如果使用過,請查找HandleFunc其中包含的任何代碼。這些將成為路由器。如果根本沒有使用路由器庫,情況也是如此。


查看完整回答
反對 回復 2023-04-04
  • 1 回答
  • 0 關注
  • 286 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號