me-no-dev / ESPAsyncWebServer

Async Web Server for ESP8266 and ESP32
3.81k stars 1.23k forks source link

Invalid conversion from 'const AsyncWebParameter*' to 'AsyncWebParameter*' #1434

Open UnivespWagnerQueiroz opened 2 months ago

UnivespWagnerQueiroz commented 2 months ago

I try to get the list of parameters with the example below, however I get the error below:

Compilation error: invalid conversion from 'const AsyncWebParameter*' to 'AsyncWebParameter*' [-fpermissive]

Someone can help me with this? I'm using Arduino 2.3.2 on Windows and Linux.

#include "WiFi.h"
#include "ESPAsyncWebServer.h"

const char* ssid = "yourNetworkName";
const char* password =  "yourNetworkPass";

AsyncWebServer server(80);

void setup(){
  Serial.begin(115200);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi..");
  }

  Serial.println(WiFi.localIP());

  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){

    int paramsNr = request->params();
    Serial.println(paramsNr);

    for(int i=0;i<paramsNr;i++){

        AsyncWebParameter* p = request->getParam(i);
        Serial.print("Param name: ");
        Serial.println(p->name());
        Serial.print("Param value: ");
        Serial.println(p->value());
        Serial.println("------");
    }

    request->send(200, "text/plain", "message received");
  });

  server.begin();
}

void loop(){}
Baptou88 commented 2 months ago

Hello @UnivespWagnerQueiroz

Replace the line:

AsyncWebParameter* p = request->getParam(i);

by:

const AsyncWebParameter* p = request->getParam(i);