Golang根据struct字段设置http响应代码

时间:2015-05-01 19:04:06

标签: http struct go

在api中,我正在编写一个错误结构,它会对json进行编组。当api有错误时它返回结构,我将http响应代码设置为适当的值。

type PodsError struct {
    ErrorCode       int     `json:"error_code"`
    CallingFunction string  `json:"calling_function"`
    Message         string  `json:"error_message"`
}

type PodsErrorWrapper struct {
    Error   PodsError   `json:"error"`
}

现在我每次编写结构时都会写一个标题,但我不喜欢我看到的重复代码量。

error := PodsError{http.StatusNotFound, "Calling Func", "Message"}
response.WriteHeader(error.ErrorCode)
response.WriteEntity(PodsErrorWrapper{error})

每当我将错误传递给WriteEntity()时,是否可以将WriteHeader调用移动到被调用的内容?我想必须有一个我可以为PodsErrorWapper实现的功能,我可以将http状态设置为ErrorCode字段。

编辑:对不起我忘了提,我正在使用go-restful包(github.com/emicklei/go-restful)

0 个答案:

没有答案