先进入项目目录下的controllers文件夹
cd D:AllProjectsCppProjectswebtestwebcontrollers
创建一个控制层
drogon_ctl create controller TestCtrl
在visual studio 2019中,右键项目>添加>新建筛选器,命名为controllers
右键controllers>添加现有项>把TestCtrl.cc和TestCtrl.h添加进来
TestCtrl.cc的内容:
#include "TestCtrl.h" #includeusing namespace std; void TestCtrl::asyncHandleHttpRequest(const HttpRequestPtr& req, std::function &&callback){ cout<< "您当前请求的路劲:" << req->path() << endl; cout << "获取请求参数id的值:" << req->getParameters().at("id") << endl; cout << "获取请求体body:" << req->getBody() << endl; auto resp = HttpResponse::newHttpResponse(); resp->setStatusCode(k200OK); resp->setContentTypeCode(CT_TEXT_HTML); if (req->path() == "/path1") { resp->setBody("Hello World /path1!"); } else if (req->path() == "/paht2") { resp->setBody("Hello World /path2!"); } callback(resp); }
TestCtrl.h的内容:
#pragma once #includeusing namespace drogon; class TestCtrl : public drogon::HttpSimpleController { public: virtual void asyncHandleHttpRequest(const HttpRequestPtr& req, std::function &&callback) override; PATH_LIST_BEGIN // list path definitions here; PATH_ADD("/path1", Get, Post); PATH_ADD("/path2", Get, Post); PATH_LIST_END };
尝试使用Postman请求:



