构建 JSON over HTTP 服务器与使用协议缓冲区结构化数据
1. 构建 JSON/HTTP 服务器
在构建服务器时,Go 语言编写的 Web 服务器会为每个 API 端点配备一个 net/http HandlerFunc(ResponseWriter, *Request) 函数。我们的 API 有两个端点:用于写入日志的 Produce 和用于读取日志的 Consume 。构建 JSON/HTTP 的 Go 服务器时,每个处理程序都包含以下三个步骤:
1. 将请求的 JSON 主体反序列化到一个结构体中。
2. 使用请求运行该端点的逻辑以获得结果。
3. 将结果序列化并写入响应。
以下是创建 HTTP 服务器的代码示例:
// LetsGo/internal/server/http.go
package server
import (
"encoding/json"
"net/http"
"github.com/gorilla/mux"
)
func NewHTTPServer(addr string) *http.Server {
httpsrv := newHTTPServer()
r := mux.NewRouter()
r.HandleFunc("/", httpsrv.handleProduce).Methods("POST")
r.HandleFunc("/", httpsrv.handleConsume).Methods("
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



