# cgin **Repository Path**: Ziiup/cgin ## Basic Information - **Project Name**: cgin - **Description**: 模仿gin风格的c++Web框架 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-02-28 - **Last Updated**: 2022-05-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: WEB框架, Cpp ## README # cgin #### 介绍 一款模仿golang web微框架——gin风格,基于C++17的轻量C++HTTP应用框架(只支持Linux平台) #### 简单的使用例子 ```cpp using namespace cgin; void m_handlefunc_2(net::ContextPtr context){ context->response_string(net::StatusOK,"register page!"); } int main(){ //LOG.on_log_to_file(); net::http_server server; server.init()->set_address("127.0.0.1:8721"); //example 1 net::HandleFunc m_handlefunc_1 = [](net::ContextPtr context){ context->response_string(net::StatusOK,"Welcome to cgin!"); }; net::Router::router_instance().GET("/index",m_handlefunc_1); //example 2 net::Router::router_instance().GET("/register",m_handlefunc_2); //example 3 net::Router::router_instance().GET("/login",[](net::ContextPtr context){ std::string name = context->get_param("name"); std::string password = context->get_param("password"); context->response_string(net::StatusOK,"name:" + name + " password:" + password); }); //test invalid route net::Router::router_instance().GET("/user/:firstname/:lastname/*action",[](net::ContextPtr context){ context->response_string(net::StatusOK,"Test"); }); net::Router::router_instance().GET("/testjson",[](net::ContextPtr context){ json::value root; root["student"] = json::object{ {"name","naruto"}, {"age",18} }; context->response_json(net::StatusOK,root); }); server.run(); ```