跳转到主要内容

【Go语言Web开发】使用 Go 的 net/http 包对 JSON 进行编码和解码

这是一个非常常见的任务:编码 JSON 并将其发送到服务器,在服务器上解码 JSON,反之亦然。令人惊讶的是,关于如何做到这一点的现有资源并不是很清楚。因此,让我们来看看每个案例,对于以下简单的 User 对象:

type User struct{
    Id      string
    Balance uint64
}


在 POST/PUT 请求的正文中发送 JSON


让我们从最棘手的开始:Go 的 http.Request 的主体是一个 io.Reader,如果你有一个结构,它就不太适合 - 你需要先编写结构,然后将其复制到阅读器。

【Go语言高级开发】为 Go (Golang) 配置 CORS

在之前的文章中,我们已经介绍了 CORS 是什么以及修复“没有 'access-control-allow-origin' 标头存在”的反向代理方法,但是当您需要更多灵活性时该怎么办? 本文将指导您完成在后端处理 CORS 的过程。 在这种特殊情况下,我们将为 Golang 网络应用程序实现它。 但是,这种技术适用于任何支持“http.Handler”的 Go HTTP 路由器框架。我们将在本教程中使用 Gorilla/Handlers,因此我们将坚持使用 Gorilla 系列并使用基于 Gorilla/Mux 的示例。

自然,与一般的编程一样,有多种方法可以实现相同的东西,从纯粹的 DIY 方法到预先构建并很好地打包在库中的方法。 如上所述,在本教程中,我们将采用后一种方法。 但是,在我们开始所有这些之前,让我们快速回顾一下我们试图解决的问题。