wfrest
v0.9.8
중국어版入口
빠르고, 효율적이고⌛️, 그리고 가장 쉬운가요? C ++ 워크플로 기반의 C++ 비동기 마이크로 웹 프레임워크입니다.
C++ 워크플로 는 경량 C++ 병렬 컴퓨팅 및 비동기 네트워킹 엔진입니다.
성능과 우수한 생산성이 필요하다면 wfrest를 좋아할 것입니다.
자세한 내용은 먼저 토론을 참조하세요.
https://github.com/wfrest/wfrest/discussions
팁: g++ 4.9 및 이전 버전에서는 람다가 가변 템플릿을 캡처할 수 없으므로 g++ 버전을 5.0 이상으로 업그레이드해야 합니다.
ubuntu 20.04를 사용 중이라면 다음 명령으로 설치할 수 있습니다.
apt-get install build-essential cmake zlib1g-dev libssl-dev libgtest-dev -y
자세한 내용은 여기에서 확인할 수 있습니다. 요구 사항 세부 정보
git clone --recursive https://github.com/wfrest/wfrest
cd wfrest
make
sudo make install
테스트용:
make check
예를 들어 :
make example
xmake를 사용하여 wfrest를 빌드하려면 xmake 빌드 문서를 참조하세요.
Dockerfile은 루트 소스 코드 저장소의 /docker
하위 디렉터리를 찾습니다.
docker build -t wfrest ./docker/ubuntu/
podman
사용하는 경우 빌드할 수도 있습니다. 우분투 20.04에서 테스트되었습니다.
podman build -t wfrest ./docker/ubuntu/
또는 DockerHub에서 가져올 수 있습니다.
docker pull wfrest/wfrest
# include " wfrest/HttpServer.h "
using namespace wfrest ;
int main ()
{
HttpServer svr;
// curl -v http://ip:port/hello
svr. GET ( " /hello " , []( const HttpReq *req, HttpResp *resp)
{
resp-> String ( " world n " );
});
// curl -v http://ip:port/data
svr. GET ( " /data " , []( const HttpReq *req, HttpResp *resp)
{
std::string str = " Hello world " ;
resp-> String ( std::move (str));
});
// curl -v http://ip:port/post -d 'post hello world'
svr. POST ( " /post " , []( const HttpReq *req, HttpResp *resp)
{
// reference, no copy here
std::string& body = req-> body ();
fprintf (stderr, " post data : %s n " , body. c_str ());
});
if (svr. start ( 8888 ) == 0 )
{
getchar ();
svr. stop ();
} else
{
fprintf (stderr, " Cannot start server " );
exit ( 1 );
}
return 0 ;
}