d-如何使用JSON主体发送错误响应



我需要发送JSON响应,例如403 HTTP错误代码。如何在vibe.d中实现这一点?

我目前使用这个代码:

T enforceCode(T)(HTTPServerResponse res, T value, ErrorCodes code,
    HTTPStatus status = HTTPStatus.forbidden)
{
    if (!value) {
        res.writeJsonBody(["code": code], status);
        enforceHTTP(false, status);
    }
    return value;
}
void sendCode(T)(HTTPServerResponse res, ErrorCodes code, T errorInfo,
    HTTPStatus status = HTTPStatus.forbidden)
{
    import vibe.data.json;
    res.writeJsonBody([
        "code": Json(cast(int)code),
        "info": Json(serializeToJsonString(errorInfo))
    ], status);
    enforceHTTP(false, status); // I need to terminate current action
}

但其他开发人员抱怨在客户端应用程序中触发了两次错误事件。writeJsonBody仅被注释一次。

这是客户端的错误,而不是上面的代码。

相关内容

  • 没有找到相关文章

最新更新