ESPAsyncWebServer中AsyncWebServer.on各个参数的说明
时间: 2023-11-21 11:34:42 浏览: 261
AsyncWebServer.on函数用于定义HTTP请求的处理方法。它有以下参数:
1. method:HTTP请求的方法,如GET、POST、PUT等。
2. uri:HTTP请求的URI,可以是具体的路径,也可以是通配符。例如,"/hello"表示处理/hello路径的请求,"/hello/*"表示处理/hello路径下的所有请求。
3. handler:请求处理函数,可以是普通的C++函数或Lambda表达式。处理函数的参数类型为AsyncWebServerRequest *,表示请求对象。
4. filter:请求过滤器,可以是普通的C++函数或Lambda表达式。过滤器的参数类型为AsyncWebServerRequest *,表示请求对象。如果过滤器返回false,则请求不会被处理。
5. responseHeaders:响应头部,可以是字符串或键值对数组。响应头部可以包含Content-Type、Content-Encoding等信息。
6. responseCode:响应状态码,如200表示成功,404表示未找到资源等。
7. response:响应体,可以是字符串、字节数组、文件等。响应体的类型和格式由Content-Type和Content-Encoding等信息决定。
8. processor:请求处理器,用于处理大文件或流数据。处理器可以是普通的C++函数或Lambda表达式。处理器的参数类型为AsyncWebServerRequest *,表示请求对象。处理器需要返回一个AsyncWebServerResponseStream对象,表示响应流。
9. runOnError:请求处理出错时的处理函数,可以是普通的C++函数或Lambda表达式。处理函数的参数类型为AsyncWebServerRequest *,表示请求对象。如果没有定义该参数,则默认返回500状态码。
10. runOnComplete:请求处理完成时的处理函数,可以是普通的C++函数或Lambda表达式。处理函数的参数类型为AsyncWebServerRequest *,表示请求对象。如果没有定义该参数,则默认不执行任何操作。
11. runAsynchronously:是否异步处理请求。如果为true,则请求将在后台线程中处理,否则将在主线程中处理。默认为false。
阅读全文