这是基于 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
整个代码库仅包含两个 JavaScript 文件:
- bookingserver.js - HTTP 服务器和请求处理逻辑,包括身份验证
- apiv3methods.js - 实现 API v3 接口的方法
下载文件后,您可以运行以下命令来启动预订服务器:
node bookingserver.js
该框架将所有传入和传出请求写入控制台,因此您可以监控其执行情况以进行跟踪。
如果您需要使用 IDE 更改代码或进行调试,则可以使用 Visual Studio Code 或您选择的任何其他编辑器。在 Node.js 环境中启动 bookingserver.js 来调试项目,并根据需要设置断点。
测试预订服务器
下载预订测试实用程序。如需安装该扩展程序,请按照其 README 页面中提供的安装说明操作。
对于这些测试,您需要创建一个文本文件来存储您的凭据。 在一行中输入用户名和密码,例如在名为 cred.txt 的文件中:
用户名:密码
您还需要为测试商家提供库存状况 Feed 的本地副本。在下面的命令示例中,可用性 Feed 为 avail.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"
在实现自己的预订服务器时,您可能需要针对该服务器运行其他测试(例如 list_bookings_test、rescheduling_test 等),以通过所有测试的目标 (-all_tests=true)。