为什么要区分gui和resource的rest api列表?

kelly_he
Posts: 2
Joined: Thu May 18, 2023 2:03 am

为什么要区分gui和resource的rest api列表?

Postby kelly_he » Thu May 18, 2023 2:18 am

我之前从来没有在esp32上实现web服务器,所以这个问题可能有点低级。
我在review esp-thread-br的web server实现的时候,看到代码里区分了用于gui响应和前端resource的rest api。

Code: Select all

static httpd_uri_t s_resource_handlers[];
static httpd_uri_t s_web_gui_handlers[];

httpd_config_t config = HTTPD_DEFAULT_CONFIG();
config.max_uri_handlers = (sizeof(s_resource_handlers) + sizeof(s_web_gui_handlers)) / sizeof(httpd_uri_t) + 2;
config.max_resp_headers = (sizeof(s_resource_handlers) + sizeof(s_web_gui_handlers)) / sizeof(httpd_uri_t) + 2;
为什么要区分写呢?这种写法是为了单纯的易于阅读还是对性能有特殊的优化?

xieqinan
Posts: 1
Joined: Tue May 23, 2023 11:57 am

Re: 为什么要区分gui和resource的rest api列表?

Postby xieqinan » Tue May 23, 2023 12:05 pm

你好,
是这样的,esp-thread-br 的web-gui 在设计的时候,考虑了对ot-br-posix 的REST API的兼容性, 以及本身的web-gui的API应用。所以分了两部分来实现。resource API 主要是为了兼容 ot-br-posix支持的rest API. 而web-gui API 主要是用于web服务器的前后端交互。
上述的解释,希望对你的review 有所帮助。

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 79 guests