我正在尝试设计一个web服务,用于生成车辆停车罚单。
其中一个接口为1,输入:客户已存入金额。2.输出:返回停车罚单有效期到的时间。
例如,考虑停车率是每小时web 1,如果输入是web 3,如果当前时间是上午11:30,则web服务应返回2.30 is希望这是有意义的。
我正在考虑使用RESTful服务,但我不知道应该是什么资源。RESTful服务听起来不像是一个好的选择。
有什么建议吗?
发布于 2013-07-15 04:43:39
资源可以只是“停车罚单”。业务操作是“创建”一个停车罚单。它应该映射到HTTP POST,因为服务器要创建一个资源(停车罚单)。
POST /parkingtickets/
Body: {amount: <amount>, starttime: <date-time>}
Return: OK, and {ticketid: <id>, endtime: <data-time>}
您可以阅读有关here中HTTP动词用法的更多信息
发布于 2013-07-15 04:16:10
我以前也做过类似的事情。
我构建了一个php app/site,你可以这样调用函数:example.com/service/calculateparkingtime/?deposit=3.50
,它会打印出这样的json (带有json头):
{state:true,parking_time:3.5}
状态用于所有响应,如果有错误,还有一个带有错误消息的“error”键,如下所示:
{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-15 04:31:02
如果我没理解错的话,你只是想要一个问题/计算的答案,也就是说你应该使用HTTP GET:
GET foobar.tld/ticketExpires/<amountInGBP> -> expiretime
我可能会返回date+time,因为GB200会在几天后返回……
您的示例如下:
GET foobar.tld/ticketExpires/3 -> "2:30pm" (or preferably "YYYY-MM-DD 14:30:00")
问题: webservice和客户端之间的时区不同?金额总是以英镑为单位吗?
您还需要考虑响应/应答的格式应该是什么: JSON、XML、明文,客户端“应该”使用头部指定所需的格式。如果您有一个简单的客户端,只需返回客户端能够理解的smoe默认格式即可。
https://stackoverflow.com/questions/17643207
复制相似问题