Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 GoLang 和 Gin 框架。
我需要使用没有消息正文的 204 响应代码来响应 REST API 调用。
怎么做才好?
我可以通过挖掘源代码找到什么
c.JSON(204, "")
但是服务器在这种情况下会抛出错误:
错误 #01:http:请求方法或响应状态代码不允许正文 Meta:[]
有任何想法吗?
您可以使用c.AbortWithStatus(204),但需要注意的是,当您使用 abort 时,将永远不会为该请求调用其余待处理的处理程序。
c.AbortWithStatus(204)
或者,您可以这样做:
c.Writer.WriteHeader(204)
并让您的程序正常继续(但确保不要写出其他任何内容)
添加@depado评论,
c.Status(http.StatusNoContent)是实现这一目标的最简单方法。适用于gin v1.6.3
c.Status(http.StatusNoContent)
gin v1.6.3
到目前为止,函数Abort 的原型是
func (c *Context) Abort()
您可以改用AbortWithStatus ,c.AbortWithStatus(204)其原型为
func (c *Context) AbortWithStatus(code int)