C++ drogon HttpController用法

aij0ehis  于 2023-07-01  发布在  Go
关注(0)|答案(1)|浏览(171)

我已经开始学习C++ Drogon框架。我阅读了关于Drogon HttpControllers的官方和非官方文档,所以我尝试用2个端点做一些简单的Web服务器。
创建控制器类:

--- ApiController.hpp
#pragma once

#include <drogon/HttpController.h>

// internal
#include "forwards.hpp"

class ApiController : public drogon::HttpController<ApiController>
{
  public:
    METHOD_LIST_BEGIN

    METHOD_ADD(ApiController::get, "/get", Get);
    METHOD_ADD(ApiController::post, "/post", Post);

    METHOD_LIST_END
    // your declaration of processing function maybe like this:
    void get(const HttpRequestPtr& req, Callback &&callback);
    void post(const HttpRequestPtr& req, Callback &&callback ) const;
};

添加控制器到cmake和得到错误时,我试图测试“/得到”.关于屏幕截图enter image description here的详细信息。下面是我的服务器配置:

{
  "listeners": [
    {
      "address": "0.0.0.0",
      "port": 8080,
      "https": false
    }
  ],
  "app": {
    "server_header_field": ""
  }
}

为什么drogon不使用我的类当我做app().run()?谢谢你的关注,希望有人能帮我解决这个问题

rkue9o1l

rkue9o1l1#

主要问题是在URL路径,我用来调用我的服务器。
Drogon框架有嵌入式路径Map,需要使用“HOST:PORT/namespace/class_name/method”而不是“HOST:PORT/method”
下面是一些对我HttpController的有效http-request示例:enter image description here

相关问题