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;
}
相关推荐
爱编码的小八嘎6 小时前
C语言完美演绎9-7
c语言
淘矿人6 小时前
从0到1:用Claude启动你的第一个项目
开发语言·人工智能·git·python·github·php·pygame
cany10006 小时前
C++ -- 模板的声明和定义
开发语言·c++
澈2076 小时前
深耕进阶 Day1:C 与 C++ 核心差异 + C++ 入门基石
c语言·开发语言·c++
小怪吴吴6 小时前
idea 开发Android
android·java·intellij-idea
love530love6 小时前
Windows Podman Machine 虚拟硬盘迁移完整指南:从 C 盘到非系统盘
c语言·人工智能·windows·podman
Felven7 小时前
C. Need More Arrays
c语言·开发语言
love530love7 小时前
Podman Machine 虚拟硬盘迁移实战二:用 Junction 把 vhdx 从 C 盘搬到其他盘
c语言·开发语言·人工智能·windows·wsl·podman·podman machine
愚者游世7 小时前
noexcept 说明符与 noexcept运算符各版本异同
开发语言·c++·程序人生·面试·visual studio
代码中介商7 小时前
C语言预处理指令深度解析:从宏定义到条件编译
c语言·开发语言