drogonframework / drogonframework/drogon

回调函数里面快速返回内容

Open
#1,643 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
14.3k
Forks
1.4k
Avg merge
1d 13h
Merged PRs (30d)
14

Description

***仅仅是一个小建议

很多使用场景下,需要返回string或者json而不需要额外设置什么header或者code等(json中包含了所有信息),实际使用中有大量这种返回情况:
`

//返回string
auto resp = HttpResponse::newHttpResponse();
resp->setBody("ok");
callback(resp);
return;

//返回json
Json::Value jsonRet;
jsonRet["ok"] = true;
auto respjson = HttpResponse::newHttpJsonResponse(jsonRet);
callback(respjson);
return;`

为了方便,直接定义了宏
`

#define RETURN_STRING(a) \
{ \
auto resp = HttpResponse::newHttpResponse(); \
resp->setBody(a); \
callback(resp); \
return; \
}

#define RETURN_JSON(a) \
{ \
auto resp = HttpResponse::newHttpJsonResponse(a); \
callback(resp); \
return; \
}
`

so。。。回调函数建议添加这种类型的回调方法
`std::string stringcb(const HttpRequestPtr& req)
{
return "ok";
}
Json::Value jsoncb(const HttpRequestPtr& req)
{
Json::Value jsonRet;
jsonRet["ok"] = true;
return jsonRet;
}
`

感谢这个工程完成了日常工作,秀儿~

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.