REST Server Vorschläge



  • Ich schreibe gerade ein C++ REST Server. Die Basis ist fertig (HTTP & JSON).
    Ich will nur noch einen coolen Aufsatz bauen, mit der man die API spezifizieren kann.

    Eine Idee wie das aussehen könnte ist wie in expressjs
    http://expressjs.com/en/guide/routing.html

    Das Ziel:
    - Easy to use! Kein Schnickschnack. Nur was nötig ist
    - Am besten so kompakt, dass es sogar als Referenz genutzt werden könnte. (EDIT Das heißt dass der code selbst so kompakt ist, dass man sofort ablesen kann wie die API aussieht)

    vielleicht auch

    Request::Get >> "/api/hello/#" >> [=](connection con) { con.sendJson(myObject); };
    

    Wie würdet ihr das gerne benutzen wollen?

    EDIT: ExpressJs finde ich schon fast ideal. Aber vielleicht habt ihr noch eine C++igere coole Lösung parat, an die ich nicht gedacht habe.



  • Ich bin etwas langsam: du fragst uns wie ein guter REST-Client aussehen sollte? Was spricht bspw. gegen meinen Browser?

    MfG SideWinder



  • Na dass sich der so schwer in C++ Programme einbinden lässt.

    Echt jetzt, hast du noch nie von RESTful Web Services gehört? Also welchen die überhaupt rein gar nix mit HTML oder Browsern zu tun haben.



  • Nein Server 😃

    Aber da ich davon ausgegangen bin, dass die Frage zu unkonkret war, bin ich schon fertig.

    Viel einfacher als:

    MyObject obj;
    app.get("/gimme/json", [](Request req, Response res) {
        res.json(obj); // Magic!
        // .json ist ein Alias auf sendJson(). - Für das expressjs feeling.
    });
    

    fällt mir auch nicht ein.

    EDIT: Und da Request und Response nur um ein Connection objekt wrappen wird es später für mich kein Ding sein auf SSL aufzurüsten.

    EDIT: (ein weiteres Beispiel)

    app.post("/user/:id", [](Request req, Response res) {    
        std::cout << req.getParameter("id") << " - " << req.readString();
        res.status(204).send();
    }
    

Anmelden zum Antworten