gpt4 book ai didi

json - Golang/Gin-gonic : Force POST headers to JSON

转载 作者:数据小太阳 更新时间:2023-10-29 03:28:31 25 4
gpt4 key购买 nike

我正在使用 Gin-gonic 创建 API。所有请求,无论是 GET 还是 POST,都将采用 JSON 格式。

我有一个可以正常工作的 API 调用,但我必须通过 cURL -H "Accept: application/json"-H "Content-type: application/json" 否则 POST 不会按预期工作。

我尝试将此函数添加为中间件,但尽管它稍微更改了 header ,但仍无法按预期工作

func CORSMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {

c.Writer.Header().Set("Content-Type", "application/json")
c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")

}
}

工作时的 header (在 cURL 中添加 header ):接受:application/json内容类型:application/json

当它不起作用时的标题(cURL 中没有标题):Accept: */* Content-Type: application/x-www-form-urlencoded

有没有办法强制 header 而不是要求用户提供 header ?

最佳答案

Content-type 是一个导入的 HTTP header ,让服务器决定如何解析 HTTP 主体。

有没有办法强制 header 而不是要求用户提供它们?

很难说是或否,这取决于您的“用户”。对于 curl,它无法猜测 HTTP 正文格式并自动将 Content-Type 设置为 'applicatoin/json',因此您需要指定 Content-Type。对于其他类似 jQuery 的,程序员可以在帖子中设置 dataType jQuery.post( url [, data ] [, success ] [, dataType ] ) link

关于json - Golang/Gin-gonic : Force POST headers to JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30705110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com