더미 API 서버
- 프런트앤드와 연동하여 백앤드 서버를 흉내내는 더미 서버
- 백앤드 API가 완성되지 않았을때 사용한다.
프로젝트 생성
Section titled “프로젝트 생성”-
메인 프로젝트 생성
Terminal window cargo new dummy-api-server && cd dummy-api-server -
메인 프로젝트의 Cargo.toml 파일에 서비스 프로젝트 등록
dummy-api-server/Cargo.toml [workspace]members = ["services"] -
서비스 프로젝트 생성
Terminal window cargo new services && cd services -
서비스 프로젝트의 의존성 추가
dummy-api-server/services/Cargo.toml [dependencies]actix-web = "4.11.0"actix-rt = "2.11.0"serde_json = "1.0.145"serde = {version = "1.0.228", features = ["derive"]}chrono = {version = "0.4.42", features = ["serde"]} -
서비스 프로젝트의 바이너리 파일의 이름을 설정
dummy-api-server/services/Cargo.toml [[bin]]name = "api-server"
- 작업 디렉토리로 이동
Terminal window cd dummy-api-server/services - config.json 파일 생성
Terminal window touch config.jsondummy-api-server/services/config.json {"address": "localhost","port": 8282} - config.json 파일 생성
dummy-api-server/services/test-data/apis.json {"apis": [{"api_path": "/login","method": "POST","data_path": "./api-data/login-post/response.json"},{"api_path": "/todo-list","method": "GET","data_path": "./api-data/todo-list-get/response.json"},{"api_path": "/user-info","method": "GET","data_path": "./api-data/user-info-get/response.json"},{"api_path": "/user-delete","method": "DELETE","data_path": "./api-data/user-delete/response.json"},{"api_path": "/user-update","method": "PUT","data_path": "./api-data/user-update/response.json"}]}
- 작업 디렉토리로 이동
Terminal window cd dummy-api-server/services - 테스트
Terminal window cargo test$ cargo testCompiling services v0.1.0 (/home/gangil/dev/workspace/rust_projects/dummy-api-server/services)Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48sRunning unittests src/bin/api-server.rs (/home/gangil/dev/workspace/rust_projects/dummy-api-server/target/debug/deps/api_server-86113ba29ea8c0a8)running 4 teststest config::test::test_config_into ... oktest config::test::test_method_into ... oktest config::test::test_get_address ... oktest config::test::test_rest_api_into ... oktest result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00sRunning unittests src/main.rs (/home/gangil/dev/workspace/rust_projects/dummy-api-server/target/debug/deps/services-1f6a22ddb591c7bf)running 0 teststest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
- 작업 디렉토리로 이동
Terminal window cd dummy-api-server/services - 서버 실행
Terminal window cargo run -p services --bin api-server