通过过滤器获取Springboot动态JSON内容

问题描述 投票:0回答:1

我在Springboot支持的网络应用中具有json数据资产,如下所示

webapp / asset / labels.json

webapp / asset / dept1 / labels.json

webapp / asset / dept2 / labels.json

从UI层,发生REST调用以获取标签(http://server/asset/labels.json)。现在我想动态获取被覆盖的json标签的内容/dept1/labels.json-如果此人属于dept1,/dept2/labels.json-如果此人属于dept2。

labels.json

{"Foo" : "1","Bar" : "X"}

dept1 / labels.json

{"Foo" : "2"}

dept2 / labels.json

{"Bar" : "Y"}

当调用/asset/labels.json时,前端预期的Json内容

对于不属于部门1或部门2的员工

{"Foo" : "1","Bar" : "X"}

对于属于部门1的员工

{"Foo" : "2","Bar" : "X"}

对于属于部门2的员工

{"Foo" : "1","Bar" : "Y"}

我尝试了各种方法,但在大多数情况下,我最终为每个API实现了自定义实现。我有数百个JSON可以处理,因此我想知道是否有一种方法可以提出一个可处理所有JSON文件的自定义框架/实用程序。

spring-boot servlet-filters
1个回答
0
投票

您将拥有一个API端点,该端点将返回正确的JSON。

在API端点方法中,您将按照以下步骤操作:

  • 首先将基本JSON文件加载到MapbaseMap中。
  • 接下来基于用户的部门,您将部门特定的JSON加载到另一个地图中,例如deptMap
  • 然后您运行以下代码行:baseMap.putAll(deptMap)

putAll将覆盖来自部门特定JSON的所有键。

注意

将只有一个端点,并且该端点将根据作为查询参数传递给它的雇员姓名或根据登录用户获取它来确定雇员

© www.soinside.com 2019 - 2024. All rights reserved.