Understanding post request body ESP8266

I have some basic knowledge in web development using Node and are familiar with JavaScript and Python, which probably using higher level libraries than available for ESP8266 for making post requests.
Whilst I have successfully followed this guide
Github code example which is sufficient for my implementation goal I want to know more about the details about the request body. What minimum is required and what extra value does the other parameters give when I make the post request?
More specifically what does this line doclient.println("A string with params in here); do? It does not print to the serial monitor.

I also found this example ESP8266: HTTP POST Requests - techtutorialsx that is using the ESP8266HTTPClient library. I manage to make request to the dummy server but failed using it together with things speak, probably used it wrong. I find it difficult to find any documentation of how to use the library? Is anyone aware of where "beginner friendly" documentation is for the library?

I hope I am not asking to much in one post I just try better understand where I can find good documentation.

WiFiClient is a wrapper around TCP Socket. print or write functions write data into socket. read reads data from the socket