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

Node.js를 기반으로 하는 표준 통합을 위한 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

전체 코드베이스는 JavaScript 파일 두 개로만 구성됩니다.

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

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

node bookingserver.js

스켈레톤은 들어오는 모든 요청과 나가는 모든 요청을 콘솔에 기록하므로 추적 목적으로 실행을 모니터링할 수 있습니다.

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

예약 서버 테스트

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

테스트의 경우 사용자 인증 정보를 저장할 텍스트 파일을 만들어야 합니다. 예를 들어 cred.txt 파일에 사용자 이름과 비밀번호를 한 줄로 입력합니다.

사용자 이름:비밀번호

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

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

  • 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 등)를 실행해야 할 수 있습니다.