0

我正在尝试设计一个用于生成车辆停车票的网络服务。

API 之一是 1. 输入:客户存入的金额。2. 输出:返回他的停车票有效的时间。

例如,考虑停车费是每小时 1 英镑,如果输入是 3 英镑,如果当前时间是上午 11.30,那么 Web 服务应该在下午 2.30 返回。希望这是有道理的。

我正在考虑使用 RESTful 服务,但我不知道应该是什么资源。RESTful 服务听起来不是一个好的选择。

有什么建议么?

4

3 回答 3

1

该资源可能只是“停车票”。业务行为是“创建”一张停车罚单。它应该映射到 HTTP POST,因为服务器要创建资源(停车票)。

POST /parkingtickets/
Body:   {amount: <amount>, starttime: <date-time>}
Return: OK, and {ticketid: <id>, endtime: <data-time>}

您可以在此处阅读有关 HTTP 动词用法的更多信息

于 2013-07-14T20:43:38.540 回答
0

我以前必须做类似的事情。

我构建了一个 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 等)构建相同的应用程序。

于 2013-07-14T20:16:10.353 回答
0

如果我正确理解问题,您只需要问题/计算的答案,即您应该使用 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 默认格式。

于 2013-07-14T20:31:01.697 回答