Crow/docs/getting_started/your_first_application.md
The-EDev 23648445f3 Changed documentation. a lot.
Added mkdocs documentation.
Altered doxygen generation (doxyfile and shell script) to work with mkdocs.
Removed the whole html folder thing for docs, now the files reside in the root gh-pages branch.
New readme.
2020-11-28 17:28:47 +03:00

2.1 KiB

This page shows how you can get started with a simple hello world application.

##1. Include Starting with an empty main.cpp file, add #!cpp #include "crow.h" or #!cpp #include "crow_all.h" if you're using the single header file.

##2. App declaration Next Create a main() and declare a #!cpp crow::SimpleApp inside, your code should look like this

int main()
{
    crow::SimpleApp app;
}

The App (or SimpleApp) class organizes all the different parts of Crow and provides the developer (you) a simple interface to interact with these parts. For more information, please go here.

##3. Adding routes Once you have your app, the next step is to add routes (or endpoints). You can do so with the CROW_ROUTE macro.

CROW_ROUTE(app, "/")([](){
    return "Hello world";
});

For more details on routes, please go here.

#4. Running the app Once you're happy with how you defined all your routes, you're going to want to instruct Crow to run your app. This is done using the run() method.

app.port(18080).multithreaded().run();

Please note that the port() and multithreaded() methods aren't needed, we just put them there to confuse you. Though not using port() will cause the default port (80) to be used.
If you are using the default port, you can use localhost instead of localhost:80 in your browser or client.

##Putting it all together

Once you've followed all the steps above, your code should look similar to this

#include "crow.h"
//#include "crow_all.h"

int main()
{
    crow::SimpleApp app; //define your crow application

    //define your endpoint at the root directory
    CROW_ROUTE(app, "/")([](){
        return "Hello world";
    });

    //set the port, set the app to run on multiple threads, and run the app
    app.port(18080).multithreaded().run();
}

After building and running your .cpp file, you should be able to access your endpoint at http://localhost:18080. Opening this URL in your browser will show a white screen with "Hello world" typed on it.