我正在尝试设计一个用于生成车辆停车票的网络服务。
API 之一是 1. 输入:客户存入的金额。2. 输出:返回他的停车票有效的时间。
例如,考虑停车费是每小时 1 英镑,如果输入是 3 英镑,如果当前时间是上午 11.30,那么 Web 服务应该在下午 2.30 返回。希望这是有道理的。
我正在考虑使用 RESTful 服务,但我不知道应该是什么资源。RESTful 服务听起来不是一个好的选择。
有什么建议么?
我正在尝试设计一个用于生成车辆停车票的网络服务。
API 之一是 1. 输入:客户存入的金额。2. 输出:返回他的停车票有效的时间。
例如,考虑停车费是每小时 1 英镑,如果输入是 3 英镑,如果当前时间是上午 11.30,那么 Web 服务应该在下午 2.30 返回。希望这是有道理的。
我正在考虑使用 RESTful 服务,但我不知道应该是什么资源。RESTful 服务听起来不是一个好的选择。
有什么建议么?
该资源可能只是“停车票”。业务行为是“创建”一张停车罚单。它应该映射到 HTTP POST,因为服务器要创建资源(停车票)。
POST /parkingtickets/
Body: {amount: <amount>, starttime: <date-time>}
Return: OK, and {ticketid: <id>, endtime: <data-time>}
您可以在此处阅读有关 HTTP 动词用法的更多信息
我以前必须做类似的事情。
我构建了一个 php 应用程序/站点,您可以在其中调用这样的函数:
example.com/service/calculateparkingtime/?deposit=3.50
它会打印出这样的 json(带有 json 标头):
{state:true,parking_time:3.5}
状态用于所有响应,如果出现错误,还有一个带有错误消息的“错误”键,例如:
{state:false,
error:"Parking time exceeds the working hours of the car park.",
errorCode:"Park01",parking_time:2.5,exceeding_amount:1}
如果您的 API 包含这样几个小函数,您也可以这样做。
服务在 php 中与 CURL 或 file_get_contents 一起使用。
您可以使用其他语言(如 ASP.NET 等)构建相同的应用程序。
如果我正确理解问题,您只需要问题/计算的答案,即您应该使用 HTTP GET:
GET foobar.tld/ticketExpires/<amountInGBP> -> expiretime
我可能会返回日期+时间,因为 200 英镑会在几天后返回某个时间......
你的例子是:
GET foobar.tld/ticketExpires/3 -> "2:30pm" (or preferably "YYYY-MM-DD 14:30:00")
问题:webservice 和客户端之间的时区不同?金额总是英镑吗?
您还需要考虑响应/答案的格式应该是什么:JSON、XML、纯文本,客户端“应该”使用标头指定所需的格式。如果您有一个简单的客户端,只需返回客户端理解的 smoe 默认格式。