背景
为移动端提供系统公告信息,书写一个接口提供该功能。
实现
采取spring boot与swagger2的整合框架书写API,使用GET请求从数据库中获取配置的公告信息,返回list集合信息给前端
总结
使用GET请求只有满足两种情况才能使用:
1、满足安全性:外部系统访问该接口时候,其服务端的资源状态不会发生改变。
2、满足幂等性:外部系统多次访问该接口的时候,返回的资源状态不会发生改变。
分析该场景
由于在服务端先对系统公告信息进行了判断,如果redis缓存中不存在,那么就去数据库中查找,同时将查找后的数据写入到redis缓存中,方便下次的获取。如果redis中能够获取到该信息,那么直接获取。
那么上述的分析其实就经过了三个系统,前端、redis系统、数据库系统。且操作无法保证其安全性和幂等性,因此将GET请求换为POST请求。