Drogon 现代化C ++高性能框架

框架自带 GC 垃圾回收

现在ai时代,直接让ai写业务即可,直接上最强并发的框架。

业务 用 octane

高并发场景,正常来说也不会非常多接口,用 Drogon 完美。

hello.cpp

clike 复制代码
#include <drogon/drogon.h>
using namespace drogon;

int main() {
    // 数据库连接
    auto db = app().getDbClient(
        "mysql", "127.0.0.1", 3306,
        "你的库名", "账号", "密码", 1, "utf8mb4"
    );

    // ==========================
    // 接口1:Hello World
    // ==========================
    app().registerHandler("/hello", [](auto req, auto cb) {
        Json::Value r;
        r["code"] = 200;
        r["msg"] = "Hello Drogon 简化版!";
        cb(HttpResponse::newHttpJsonResponse(r));
    });

    // ==========================
    // 接口2:查询用户 ID=1
    // ==========================
    app().registerHandler("/user/getInfo", [db](auto req, auto cb) {
        auto sql = "SELECT id,username,phone FROM user WHERE id=?";

        // ↓↓↓ 这里我给你简化到最干净!
        db->execSqlAsync(sql, [cb](auto res) {
            Json::Value r;
            if (res.empty()) {
                r["code"] = 404;
                r["msg"] = "用户不存在";
            } else {
                r["code"] = 200;
                r["data"]["id"] = res[0]["id"].as<int>();
                r["data"]["name"] = res[0]["username"].as<string>();
            }
            cb(HttpResponse::newHttpJsonResponse(r));
        }, [cb](auto err) {
            Json::Value r;
            r["code"] = 500;
            r["msg"] = "查询失败";
            cb(HttpResponse::newHttpJsonResponse(r));
        }, 1);
    });

    app().addListener("0.0.0.0", 8081).run();
    return 0;
}
相关推荐
大圣编程1 小时前
Java 多维数组详解
java·开发语言
殳翰3 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
落寞的星星4 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere4 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
2601_961593425 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust
HZZD_HZZD5 小时前
DL/T 645-2026新国标深度解读与智能电表协议适配实战:从帧结构变化到Java采集器升级的全链路改造方案
java·开发语言
多加点辣也没关系7 小时前
JavaScript|第4章:类型转换
开发语言·javascript
聪慧的水蜜桃7 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#
yqcoder8 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript
山登绝顶我为峰 3(^v^)38 小时前
C/C++ 交叉编译方法
java·c语言·c++