2016-02-12 36 views
4

我一直在研究如何做到這一點,所有的例子都是用text/html。我已經嘗試使用JSON與POCO C++網絡庫實現服務器api休息,但我不太確定它是否是正確的方式來執行此操作。如何使用JSON實現帶POCO C++網絡庫的REST API服務器?

void MyHandler::handleRequest(HTTPServerRequest& request,  HTTPServerResponse& response) 
{ 
    response.setStatus(HTTPResponse::HTTP_OK); 
    response.setContentType("application/json"); 

    std::ostream& ostr = response.send(); 
    string send("true"); 
    ostr << send; 
    response.setContentLength(send.size()); 
} 

最初它作爲HMTL連接被實施:

void MyHandler::handleRequest(HTTPServerRequest& request,  HTTPServerResponse& response) 
{ 
    response.setStatus(HTTPResponse::HTTP_OK); 
    response.setContentType("text/html"); 

    std::ostream& ostr = response.send(); 
    ostr << "<html><head><title>HTTPTimeServer powered by POCO C++ Libraries</title>"; 
    ostr << "<body><p style=\"text-align: center; font-size: 48px;\">"; 
    ostr << "ConfigHandler"; 
    ostr << "</p></body></html>"; 
} 

難道我做正確的改變還是我失去了一些東西?

如果有人知道關於如何使用JSON與POCO C++庫構建API REST的教程,將非常感激。

在此先感謝。

+1

你的代碼有問題嗎?它是否按預期的那樣工作?你有*試過嗎? –

+0

是的,我已經嘗試過它,它的工作原理,但我不確定它是否是正確的方法。我只是問是否正確或存在其他更好的方式,因爲POCO存儲庫中的示例僅使用「text/xml」。 – GutiMac

+2

回覆XML文檔和JSON文檔的唯一區別是內容類型和實際數據。其餘的應該都是一樣的。 –

回答

1

波科C++庫REST API的大樓在現代C++一個很好的工具,雖然,關於建築,有被做了一些設計決策。

我對提供GitHub的API項目建在C++使用波科example