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

保罗·拉古纳(Paul Laguna):

首席开发人员上周突然离开了我的公司。没有记录API。因此,我努力寻找每个API的含义,然后将它们记录在JIRA中。我们使用Golang作为后端。我尝试使用Charles Proxy,Fiddler,JMeter和Chromes检查器/网络,但未显示API。由于技术原因,我希望尽快找到我们所有的API。我的一位开发人员告诉我下载并安装Goland。并指示我执行以下操作

“字节*。(好吧| StatusOK |成功),并mux.nomapi.获得端点和那些使用它,不知道如果所有的人都用MUX和nomapi虽然

使用goland,您可以使用不熟悉的代码轻松跳转到非常有用的定义,并找到用法”

不确定他的意思是什么。

有人可以指出我正确的方向吗?

疯狂袋熊:

这实际上取决于开发人员用来创建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. 可能最受欢迎的路由器库是大猩猩复用器检查代码是否有引用github.com/gorilla/mux,以防万一。如果已使用,请查找其中包含的所有代码HandleFunc这些将是路由器。如果根本不使用任何路由器库,也是如此。

祝好运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章