我有一个设置有REST API的SPA网站。我遇到的问题之一是如何访问与所请求资源无关的数据。具体来说,访问用户帐户详细信息,这样我就可以在用户不是管理员时执行诸如隐藏管理员操作之类的操作。
我有一个api端点,它可以获取所有这些数据,因此最简单的解决方案是在每个页面加载请求中配置文件api以及实际访问的资源。不断请求很少更改的资源似乎有点浪费。
另一种选择是将该数据存储在本地存储中,因此只需要请求一次,但是我遇到的问题是,用户在一个设备上更新其用户名或设置,然后在另一个设备上保留过时的数据。本地存储。
我认为vuex在单击链接并导航到其他页面时也许可以保留这些数据,但是当页面更改时似乎数据丢失了。
据我所知,graphql可以通过允许初始请求将用户数据与其他数据一起获取来解决此问题。我不确定这是否比2个请求有效,重写我的整个api可能不是解决此问题的最佳方法。
是否存在解决此问题的众所周知的解决方案,或者是我找到解决此问题的最佳方法之一?