首席开发人员上周突然离开了我的公司。没有记录API。因此,我努力寻找每个API的含义,然后将它们记录在JIRA中。我们使用Golang作为后端。我尝试使用Charles Proxy,Fiddler,JMeter和Chromes检查器/网络,但未显示API。由于技术原因,我希望尽快找到我们所有的API。我的一位开发人员告诉我下载并安装Goland。并指示我执行以下
“字节。*(确定|状态确定|成功)
和mux.
和nomapi.
来获取端点以及正在使用端点的端点,但是不确定是否所有人都使用mux和nomapi
使用goland,您可以轻松跳转到不熟悉的代码非常有用的定义 并找到用法”
不确定所有这些意思。
有人可以指出我正确的方向吗?
答案 0 :(得分:1)
这实际上取决于您的开发人员用来创建API的内容。最好的办法是解析源代码,而不是使用Chrome检查器之类的工具戳戳。您想找到的是API处理程序的路由器。路由器基本上是一种结构,可将API端点(如/api/v1/login/
)映射到处理调用的Go函数(适当地称为处理程序)。但是,不幸的是,取决于所使用的框架/库以及代码的结构,这可能在很多不同的地方。因此,虽然我不能给您一个明确的答案,但我可以给您一些建议。
http://api.domain.com/api/v1/accounts/
进行了API调用,请在代码中搜索/accounts/
和/api/v1/
,如果该代码不适用于/api/
。运气好的话,第二或第三次搜索可能会将您带到该应用程序的根路由器,您将能够从那里进行跟踪。main
,尤其是被称为routes
之类的东西,则寻找该软件包导入的任何位置(只需grep作为所有文件中的软件包名称,而忽略软件包声明本身) 。github.com/gorilla/mux
,请检查代码是否有任何引用。如果已使用,请查找其中包含HandleFunc
的任何代码。这些将是路由器。如果根本不使用路由器库,也是如此。祝你好运。