期待更优雅地解析数据/坏笑

波总,下个版本能不能在Model里加个getParameterMap()方法,然后把Inject里的下面两个方法的HttpRequest改为Controller,再把对应的参数替换为controller。

image.png

这样若自己对传入数据有特殊需求,则可覆盖controller里的getPara系列方法进行定制,减少不必要的大量重复代码。比如说,某项目数据传输统一使用json,则可继承对获取json参数定制重写过的controller,获取参数更加便利(可以使用@Para("")岂不nice?),不用通篇都是

JSONObject json = JSONObjectJSON.getRawData;
String yyy = json.getZZZ;

又比如,某项目数据传输统一使用xml,则可继承对获取xml参数定制重写过的controller,获取参数更加便利,不用通篇都是xml解析与获取,减少重复冗余代码,提高可读性与开发效率。



评论区

BTMTimor

2020-07-12 19:54

山东小木

2020-07-12 22:35

@BTMTimor 一个baseController就可以灵活解决了呀

山东小木

2020-07-12 22:35

jfinal的参数获取器是可以自定义和自己注册的 灵活扩展所需

山东小木

2020-07-12 22:38

image.png

例如这样定义自己的参数获取器,controller就在自己手里 想怎么处理就怎么处理 这个是我们JBolt极速开发平台里的万能参数获取器,可以获取任意格式参数。

BTMTimor

2020-07-15 16:52

BTMTimor

2020-07-22 08:47

@山东小木 我不是这个问题,ParaGeter是将提交的表单数据的数据值转换为对应类型,而我的问题是想在参数获取前对提交数据做预处理,这样在Controller参数注入前屏蔽掉数据特征(比如json、xml、formdata等),这样在controller处理数据时就只需关注数据内容本身。使用baseCOntroller没用,因为人家jfinal参数注入时直接使用的是request.getParaMap,也可能是我没理解木哥的意思。所以,有啥优雅的解决方案吗?

BTMTimor

2020-07-22 08:50

@山东小木 虽然说可以重写controller的方法,使用显示的getXXX方法获取参数,但是我更乐意在方法使用@Para注解自动注入参数,一方面是可为接口测试提供极大的便利,二是减少这类代码,让代码更加清爽

BTMTimor

2020-07-22 18:34

@山东小木 这个现阶段咋解决