我尝试编写的API应该为以当地货币获取票价提供支持。 我应该如何提取国家/地区货币代码?
我将使用Java货币api进行转换
答案 0 :(得分:1)
通常,您会检测到从浏览器/ IP获得的位置(=国家)。例如:
根据此信息,然后可以应用语言,货币,格式等。
您应该提供一种方法来覆盖此位置(例如,用户的下拉菜单),因为有时无法正确检测到该位置,或者由于用户正在旅行,因此用户可能希望使用其他位置。
将当前位置存储在URL中并不是一个坏主意。通常,此类网址如下所示:
www.acme.com/us/xyz
因此,URL www.acme.com将自动检测该位置,并将用户转发到默认位置(例如,www.acme.com / us),用户可以在该位置覆盖该位置。
之后,您可以使用HTTP GET这样查询REST API,其中USD源自以下位置:
GET .../api/price?currency=USD
如果仍然需要使用POST,因为您有很多参数,尽管它不是非常RESTish的,但是您也可以在主体中提供所请求的货币。在网址中包含所有参数的好处是,您还可以从缓存机制中受益,缓存机制在您所请求的内容(例如日志)中清晰可见。 HTTP标头通常用于安全性信息(在日志中不可见)和每个请求中使用的值(例如,Accept等)。