我正在编写一个C ++库。我想知道格式化API函数响应的最佳实践是什么?在我的情况下,我有一个可能成功或失败的函数,如果成功,则应返回特征向量。现在我考虑的选项如下:
将响应格式设置为JSON
字符串
std::string getResponse(const Params params);
响应将采用以下格式:
{
"status": "success / failure",
"data": {
/* Application-specific data would go here. */
},
"message": null /* Or optional failure message */
}
然后用户可以解析JSON
并提取信息
我考虑过的另一个选择是:
bool getResponse(const Params params, std::vector<Features>& featuresVec);
如果函数成功,则该函数将填充featuresVec
。
最后,我可以使用一些更现代的功能,例如std::optional
std::optional<std::vector<Features>> getResponse(const Params params);
响应格式是否有最佳做法?
编辑:拼写