如何设计后端根据条件动态返回 url

2021-12-19 18:27:54 +08:00
 RiceMarch

java/spring/Native

前几天在工作时,我们的客户端因为后端的返回值的情况实在是太多直接摆烂了,让我来给他返回 url 便于她直接跳转,我赶鸭子上架的写好了一版能跑的代码,今天想着优化,抓破脑袋也不知道怎么办...

背景是这样的,客户端希望返回的对象能够包装 url,其中包装的 url 由点击空白处和点击按钮的两种 url ,(姑且称为 blankUrl,buttonUrl )

每个 URI 的基本构成是

write?id={}&router{}&params={}&query={}
  1. id 基本不会发生变动
  2. router 会根据 response 中的属性值进行判断
  3. params 和 query 性质相同,均为 json ,也会根据 response 中的属性值进行判断。其中 json 中一些属性包含默认值,他们会将某些 response 中的属性赋值在其上,

例子:

{
    "id":"此处由 response 中值动态获取",
    "type":"ORDER",//此处为定值
}

老大希望能写成动态配置,可以灵活变更 router ,params ,query 的所有内容(包括动态获取属性的变化,如 id 原来取属性 A ,现在改为属性 B )。

小弟不才,实在是没想出什么优雅的解决方案...

802 次点击
所在节点    问与答
2 条回复
oneisall8955
2021-12-19 20:59:59 +08:00
相关 source 转 json ,target 用 json path 取。json path 可以配置到配置中心。不然就用反射了
RiceMarch
2021-12-30 22:57:36 +08:00
@oneisall8955 可惜就是里面还要套 json ,类似{"id1":"{id2:"111"}"},id1 是 key,{id2:"111"}是动态配置的,111 是动态获取的,json 是动态的,json 的 value 还是动态的.最后用了很离谱的办法,无视作为 value 的 json ,直接当 string 编码,把作为 value 的 json 的 value 值空出占位符,塞到配置中心,用反射拿到对象的值放入占位符的位置,离谱...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/823159

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX