天气API
先决条件
确保已安装maven和Java 8。
建立步骤
检出项目。
在根文件夹(weather-api)中运行mvn clean install。
要启动该应用程序,请运行mvn spring-boot:run以启动该应用程序。
运行以下命令以发送请求:
curl -v --header“ X-api-key:API_KEY_1”
解决方案
这是一个基于Maven的标准Spring Boot项目。 遵循分层体系结构,每个包都是一个层。
速率限制功能是使用Bucket4j库实现的。 这是使用弹簧拦截器的preHandle方法实现的。
RateLimit拦截器检查X-api-key标头的值,并确保在一个小时内仅处理5个请求。
openMapAPI提供的服务请求已登录到H2数据库。
提供单元测试用例和集成测试用例。
假设/权衡
仅实现基本身份验证。 不检查令牌有效