我 10 个月前开始成为一名 Gopher,没有回头。像许多其他 gopher 一样,我很快发现简单的语言特性对于快速构建快速、可扩展的软件非常有用。当我刚开始学习 Go 时,我正在玩不同的多路复用器(multiplexer),它可以作为 API 服务器使用。如果您像我一样有 Rails 背景,你可能也会在构建 Web 框架提供的所有功能方面遇到困难。回到多路复用器,我发现了 3 个是非常有用的好东西,即 Gorilla mux、httprouter 和 bone(按性能从低到高排列)。即使 bone 有最佳性能和更简单的 handler 签名,但对于我来说,它仍然不够成熟,无法用于生产环境。因此,我最终使用了 httprouter。在本教程中,我将使用 httprouter 构建一个简单的 REST API 服务器。

如果你想偷懒,只想获取源码,你可以在这里[4]直接检出我的 github 仓库。

让我们开始吧。首先创建一个基本端点:

Indexmain/http:// localhost:8080
BookISDN/books/books/:isdnmain.go

GET https:// localhost:8080/books

main
main.go

JSONresponses.goHandlers.goBookmodels.go*_test.gohandlers_test.go

httptestBookShowmainBookCreatehandlers.go

writeOKResponseStatusOKwriteErrorResponseJSONpopulateModelFromHandlerBookCreateBookLogger

NewRoutermainhttprouter.Routerrouter.goLogger

您的目录此时应该像这样:

在这里[4]查看完整代码。

这应该可以让你开始编写你自己的 API 服务器了。 你当然需要把你的功能放在不同的包中,所以一个好办法就是:

handlersmodelsapp

这就是全部内容,希望本教程能对您有用。干杯!