2016-02-12 4 views
4

Я изучал, как это сделать, и все примеры с текстом/html. Я попытался реализовать сервер api rest с использованием JSON с сетевыми библиотеками POCO C++, но я не совсем уверен, что это правильный способ сделать это.Как реализовать сервер REST API с помощью сетевой библиотеки POCO C++ с использованием JSON?

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>"; 
} 

Я сделал изменения правильно, или я что-то отсутствует ??

Если кто-нибудь знает о том, как создать API REST с использованием JSON с библиотеками POCO C++, он будет очень признателен.

Заранее спасибо.

+1

Есть ли проблемы с кодом? Не работает ли это так, как вы ожидаете? Вы * попробовали? –

+0

Да, я пробовал, и он работает, но я не уверен, что это правильный путь. Я просто спрашивал, правильно ли это или существует другой способ, потому что в примерах в репозитории POCO просто используется «text/xml». – GutiMac

+2

Единственная разница между ответом XML-документа и документа JSON - это тип содержимого и фактические данные. Остальное должно быть одинаковым. –

ответ

1

Poco библиотеки C++ является отличным инструментом для REST API сек здание в современном C++, хотя, что касается архитектуры, некоторые дизайнерские решения, которые будут сделаны.

я доступен на GitHub в example в качестве API проекта, построенного в C++ с использованием Poco.

Смежные вопросы