0

我使用 go-swagger 创建了一个 REST API 服务器,并为一些端点添加了不记名令牌安全性。根据文档,令牌验证方法应该具有类似func(string) (interface{}, error).

如果传递的承载令牌无效,令牌验证方法将返回错误。这导致对请求者的 500 个响应带有 JSON 响应正文:

{
    "code": 500,
    "message": "Token is expired"
}

但是,作为标准,我如何使用代码 401 做出此响应。

注意:可以在https://stackoverflow.com/a/60738107/16087692找到类似的 Java 讨论,有没有办法实现这个 Go?

4

1 回答 1

2

我没有大摇大摆的经验,但偶然发现了这个问题。答案在示例中: https ://github.com/go-swagger/go-swagger/tree/master/examples/authentication

该示例显示该函数返回一个:

errors.New(401, "incorrect api key auth")

这是包中的错误:“github.com/go-openapi/errors”,您可以在其中传入 http 状态代码。

于 2021-11-04T12:28:17.737 回答