#include<Arduino.h>#include<WiFi.h>#include<WebServer.h>#include<ArduinoJson.h>#pragma region constsconstchar*ssid="xxx";constchar*password="xxxx";#pragma endregion#pragma region globalsWebServerserver(80);StaticJsonDocument<1024>jsonDocument;charbuffer[1024];#pragma endregion#pragma region REST APIvoidgetValues(){Serial.println("get all values");jsonDocument.clear();jsonDocument["name"]="hello";serializeJson(jsonDocument,buffer);server.send(200,"application/json",buffer);}voidsetupApi(){server.on("/getValues",getValues);// server.on("/setStatus", HTTP_POST, handlePost);// start serverserver.begin();}#pragma endregion REST API#pragma region initvoidinitWiFi(){WiFi.mode(WIFI_STA);WiFi.begin(ssid,password);Serial.print("Connecting to WiFi ..");while(WiFi.status()!=WL_CONNECTED){Serial.println(".!");delay(1000);}Serial.println(WiFi.localIP());}#pragma endregionvoidsetup(){Serial.begin(115200);initWiFi();Serial.print("RRSI: ");Serial.println(WiFi.RSSI());setupApi();}voidloop(){server.handleClient();}
voidhandlePost(){if(server.hasArg("plain")){// Check if there is a bodyStringmessage=server.arg("plain");// Get POST bodydeserializeJson(jsonDocument,message);Serial.println("Received POST Data: "+message);Serial.println("Received json Data: "+String((constchar*)jsonDocument["cmd"]));server.send(HTTP_OK,CONTENT_TYPE,"{\"status\":\"success\"}");}else{server.send(HTTP_ERROR,"text/plain","Bad Request");}}voidsetupApi(){server.on("/getValues",getValues);server.on("/setStatus",HTTP_POST,handlePost);server.begin();}