一个完整的c++ web框架(webserver + orm)

网友投稿 1064 2022-10-23

一个完整的c++ web框架(webserver + orm)

一个完整的c++ web框架(webserver + orm)

xmart

环境

只需要支持c++11的编译器

特性

跨平台支持易于使用的web库 (xfinal) 基本使用易于使用的orm库 (xorm) 基本使用完整的处理工具 (utils)

演示

#include "xmart.hpp"using namespace xmart;struct test { mysql::Integer id; mysql::Integer a; std::string b; mysql::MysqlDateTime time; mysql::MysqlDate date; mysql::MysqlTime tm; mysql::Double money;};REFLECTION(test, id, a, b, time, date, tm, money)int main() { bool r = false; // 从配置文件初始化xmart http_server& server = init_xmart("./config.json", r); if (!r) { return 0; } //从form表单写入数据库 server.router("/write", [](request& req, response& res) { auto data = map_from_query(req); dao_t dao; dao.insert(data); res.write_string("hello,world"); }); //从url参数写入数据库 server.router("/writeparams", [](request& req, response& res) { auto data = map_from_params(req); dao_t dao; dao.insert(data); res.write_string("hello,world"); }); //从提交的json写入数据库 server.router("/writejson", [](request& req, response& res) { auto json_str = req.body(); auto json = json::parse(json_str); auto data = map_from_json(json); dao_t dao; dao.insert(data); res.write_string("json insert"); }); //获取数据并通过json数据交互返回给客户端 server.router("/list", [](request& req, response& res) { dao_t dao; auto pr = dao.query("where 1=1"); json root; if (pr.first) { auto& vec = pr.second; for (auto& iter : vec) { root["list"].push_back(serializer::to_json(iter)); } } root["success"] = true; res.write_json(root); }); server.run();}

Donation

alipay:

wechat:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用Obj-C对数据等进行URLEncoding编码
下一篇:SUBVIEW的管理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~