Node.js용 예약 서버 스켈레톤

Node.js를 기반으로 한 표준 통합용 API v3 예약 서버대기자 명단 통합을 위한 API v3 예약 서버의 참조 구현입니다.

기본 요건

다음 서비스가 필요합니다.

시작하기

설명 서버는 추가 라이브러리나 프레임워크 없이 표준 Node.js를 사용하여 구현됩니다. 다른 프레임워크를 사용하는 경우 이 구현을 Express.js, MEAN.js 또는 원하는 다른 Node.js 기반 프레임워크로 쉽게 변경할 수 있습니다.

이 구현은 프로토콜 버퍼 라이브러리도 사용하지 않고 대신 단순한 JSON 직렬화와 JSON.parse() 및 JSON.stringify() 메서드를 사용합니다.

프로젝트를 다운로드하려면 다음 명령어를 실행합니다.

git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton

전체 코드베이스는 다음 두 가지 자바스크립트 파일로만 구성됩니다.

  • 예약 서버.js - 인증을 포함한 HTTP 서버 및 요청 처리 로직
  • apiv3methods.js - API v3 인터페이스를 구현하는 메서드

파일을 다운로드한 후 다음 명령어를 실행하여 예약 서버를 시작할 수 있습니다.

node bookingserver.js

스켈레톤이 콘솔에 모든 수신 및 발신 요청을 기록하므로 추적 목적으로 실행을 모니터링할 수 있습니다.

코드 변경 또는 디버깅을 위해 IDE가 필요한 경우 Visual Studio Code 또는 원하는 다른 편집기를 사용할 수 있습니다. Node.js 환경에서 예약 서버.js를 시작하여 프로젝트를 디버그하고 필요한 경우 중단점을 설정합니다.

예약 서버 테스트

예약 테스트 유틸리티를 다운로드합니다. 설치하려면 README 페이지에 제공된 설치 안내를 따르세요.

테스트를 위해 사용자 인증 정보를 저장할 텍스트 파일을 만들어야 합니다. 사용자 이름과 비밀번호를 한 줄에 입력하세요(예: 이름이 cred.txt인 파일).

사용자 이름:비밀번호

테스트 판매자를 위한 재고 피드의 로컬 사본도 필요합니다. 아래 샘플 명령어에서 가용성 피드는 어베일입니다.

이제 다음 명령어를 사용하여 예약 서버를 테스트할 수 있습니다.

  • HealthCheck 메서드 호출
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • CheckAvailability 메서드 호출 테스트:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • CreateBooking 및 UpdateBooking 메서드 호출:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

자체 예약 서버를 구현할 때 모든 테스트의 목표(-all_tests=true)를 사용하여 추가 테스트(예: list_bookings_test, rescheduling_test 등)를 실행해야 할 수 있습니다.