如何在 golang 中使用“422 Unprocessable Entity (WebDAV)”

go http 包仅支持来自 RFC 2616 的状态代码。很多 REST api 像 github 使用 422 来处理错误的输入数据。我也想这样做,但在 go 中我没有看到这样做的好方法。我看到的选项是

  1. 编辑源代码到http包并添加。这很容易做到,但编辑核心库会很糟糕。

  2. http.Response 结构将 Status 作为字符串 StatusCode 作为 int。我想我可以在响应中设置它们,但是 http.Handler 只有一个 RespnseWriter 接口。可以制作一个具有正确设置响应的 RoundTripper 的 http.Transport。即使有可能,这在某种程度上似乎也是一种hacky。

那么添加自定义 http 状态代码的最佳方法是什么,还是只是一个坏主意?


回首忆惘然
浏览 359回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go