2018-06-06 13:40:48 +00:00
|
|
|
#pragma once
|
2018-11-15 06:31:10 +00:00
|
|
|
#include <drogon/HttpController.h>
|
2018-06-06 13:40:48 +00:00
|
|
|
using namespace drogon;
|
|
|
|
namespace api
|
|
|
|
{
|
2018-10-14 07:56:54 +00:00
|
|
|
namespace v1
|
|
|
|
{
|
2018-11-15 06:31:10 +00:00
|
|
|
class ApiTest : public drogon::HttpController<ApiTest>
|
2018-10-14 07:56:54 +00:00
|
|
|
{
|
2019-01-02 10:49:37 +00:00
|
|
|
public:
|
|
|
|
METHOD_LIST_BEGIN
|
|
|
|
//use METHOD_ADD to add your custom processing function here;
|
2019-04-12 13:45:43 +00:00
|
|
|
METHOD_ADD(ApiTest::rootGet, "", "TimeFilter", Get, Options, "drogon::LocalHostFilter", "drogon::IntranetIpFilter");
|
|
|
|
METHOD_ADD(ApiTest::rootPost, "", Post, Options);
|
2019-03-06 07:57:05 +00:00
|
|
|
METHOD_ADD(ApiTest::get, "/get/{2}/{1}", Get); //path is /api/v1/apitest/get/{arg2}/{arg1}
|
|
|
|
METHOD_ADD(ApiTest::your_method_name, "/{1}/List?P2={2}", Get); //path is /api/v1/apitest/{arg1}/list
|
2019-04-12 13:45:43 +00:00
|
|
|
METHOD_ADD(ApiTest::staticApi, "/static", Get, Options); //CORS
|
|
|
|
METHOD_ADD(ApiTest::staticApi, "/static", Post, Put, Delete);
|
2019-03-31 11:32:16 +00:00
|
|
|
METHOD_ADD(ApiTest::get2, "/get/{1}", Get); //path is /api/v1/apitest/get/{arg1}
|
|
|
|
ADD_METHOD_TO(ApiTest::get2, "/absolute/{1}", Get); //path is /absolute/{arg1}
|
2019-01-22 15:00:14 +00:00
|
|
|
METHOD_ADD(ApiTest::jsonTest, "/json", Post);
|
2019-01-23 03:32:55 +00:00
|
|
|
METHOD_ADD(ApiTest::formTest, "/form", Post);
|
2019-01-02 10:49:37 +00:00
|
|
|
METHOD_LIST_END
|
|
|
|
//your declaration of processing function maybe like this:
|
2019-05-09 03:25:25 +00:00
|
|
|
void get(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int p1, std::string &&p2);
|
|
|
|
void your_method_name(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, double p1, int p2) const;
|
|
|
|
void staticApi(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback);
|
|
|
|
void get2(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, std::string &&p1);
|
|
|
|
void rootGet(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback);
|
|
|
|
void rootPost(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback);
|
|
|
|
void jsonTest(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback);
|
|
|
|
void formTest(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback);
|
2019-04-12 13:45:43 +00:00
|
|
|
|
2019-01-25 08:46:20 +00:00
|
|
|
public:
|
|
|
|
ApiTest()
|
|
|
|
{
|
|
|
|
LOG_DEBUG << "ApiTest constructor!";
|
|
|
|
}
|
2018-10-14 07:56:54 +00:00
|
|
|
};
|
|
|
|
} // namespace v1
|
|
|
|
} // namespace api
|