Qt-ohjelmointi
Http PUT

Tässä esimerkissä esitetään kuinka Qt-sovelluksella muokataan book-taulun riviä.

  1. Lisää mainwindow.h tiedoston private osaan:
    QNetworkAccessManager *putManager;
    QNetworkReply *reply;
    QByteArray response_data;
    
  2. Lisää mainwindow.h tiedostoon private slots osioon rivi:
    void updateBookSlot (QNetworkReply *reply);
    
  3. Lisää sovellukseen Push Button ja anna sille nimeksi btnUpdateBook. Luo buttonille clicked Slot ja kirjoita siihen seuraava koodi, mutta tarkista sen kirjan id, jonka haluat muokata ja korvaa seuraavassa koodissa id 19 haluamallasi arvolla.
    QJsonObject jsonObj;
    jsonObj.insert("name","Muokattu kirja");
    jsonObj.insert("author","Jussi Juonio");
    jsonObj.insert("isbn","xxx-yyy-zzzz");
    
    QString site_url="http://localhost:3000/book/19";
    QNetworkRequest request(site_url);
    request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
    
    //WEBTOKEN ALKU
        QByteArray myToken="Bearer "+webToken;
        request.setRawHeader(QByteArray("Authorization"),(myToken));
    //WEBTOKEN LOPPU
    
    putManager = new QNetworkAccessManager(this);
    connect(putManager, SIGNAL(finished (QNetworkReply*)), this, SLOT(updateBookSlot(QNetworkReply*)));
    
    reply = putManager->put(request, QJsonDocument(jsonObj).toJson());
    
  4. Lisää mainwindow.cpp tiedostoon funktio seuraavasti:
    void MainWindow::updateBookSlot (QNetworkReply *reply)
    {
        response_data=reply->readAll();
        qDebug()<<response_data;
        reply->deleteLater();
        putManager->deleteLater();
    }
    



Toggle Menu