首页 > 解决方案 > Web API 响应中的默认 HTTP 标头

问题描述

我试图在我的 Golang web api 中设置默认标头。我正在使用 Go 附带的 net/http 路由器。我可以找到很多如何做到这一点的例子:

有没有一种方法可以使用 net/http 为所有响应设置默认标头?

标签: httpgohttp-headers

解决方案


创建一个包装函数。就像是:

package main

import "net/http"

func SetDefaultHeaders(handler func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) {
    return func(w http.ResponseWriter, r *http.Request) {
        // Set default headers
        handler(w, r)
    }
}

func main() {
    http.HandleFunc("/", SetDefaultHeaders(func(w http.ResponseWriter, r *http.Request) {
        // ...
    }))
}

推荐阅读