1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef RVC_MOD_COMM_ENTITY_RESTFUL_HPP_
- #define RVC_MOD_COMM_ENTITY_RESTFUL_HPP_
- #include "RestfulFunc.h"
- #include "JsonConvertHelper.hpp"
- #include "microservices/api_comm.h"
- namespace SP
- {
- namespace Module
- {
- namespace Restful
- {
- /*errorCode 对应原有 Http 组件的 m_userCode;message 对应 m_errMsg*/
- struct CommResponseJson : public MicroServices::API::CommResponse
- {
- JSONCONVERT2OBJECT_MEMEBER_REGISTER(success, errorCode, returnCode, errorMsg, message)
- JSONCONVERT2OBJECT_MEMEBER_RENAME_REGISTER("success", "code", "return_code", "error_msg", "message")
- };
- //{ "code":"10000", "data" : true, "message" : "请求成功", "request" : "https://rvcgray.paasst.cmbchina.cn/api/gray/way?null", "success" : true }
- struct GrayResponseJson : public MicroServices::API::GrayResponseJson
- {
- JSONCONVERT2OBJECT_MEMEBER_REGISTER(success, errorCode, message, graySwitch)
- JSONCONVERT2OBJECT_MEMEBER_RENAME_REGISTER("success", "code", "message", "data")
- };
- static bool GetStatusFromDebranchResponse(const std::string& content, CommResponseJson& responseStatus)
- {
- Json::Value rawRoot;
- return (!GetJsonRootObject(rawRoot, content)) ? false : Json2Object(responseStatus, rawRoot);
- }
- static bool GetGrayInfoFromDebranchResponse(const std::string& content, GrayResponseJson& responseStatus)
- {
- Json::Value rawRoot;
- return (!GetJsonRootObject(rawRoot, content)) ? false : Json2Object(responseStatus, rawRoot);
- }
- template <typename T>
- static bool ExtractDataFromDebranchResponse(const std::string& content, T& outDataStruct)
- {
- Json::Value rawRoot;
- return (!GetJsonRootObject(rawRoot, content)) ? false : Json2Object(outDataStruct, rawRoot["data"]);
- }
- template <typename T>
- static bool FulfillRequestJsonBody(HttpClientRequestConfig* pConfig, const T& dataStruct)
- {
- std::string jsonValue;
- if (Object2Json(jsonValue, dataStruct)) {
- pConfig->SetJsonBody(jsonValue);
- return true;
- }
- return false;
- }
- } //Restful
- } //Module
- } //SP
- #endif //RVC_MOD_COMM_ENTITY_RESTFUL_HPP_
|