Java 新手求助, Spring 是如何将 GET 请求的参数注入进类方法参数的对象属性里的

2021-07-09 16:54:00 +08:00
 ccppgo

各位大神请看图

这是我写的一个分页查询接口, 在 Controller 层我使用 Page 类和 Channel 实体接收了 3 个参数, 我想新写一个类包装 Page 类和使用泛型接收表实体类, 然后再写一些通用的属性例如:

public class ParamRequest<T> {

    private Page<T> page;

    private T entity;

    // 一些通用的参数
    private int orderBy;
    private int a;
    private int b;

}

最后在图一,图二的方法里形参是(ParamRequest<Channel> request) 图二中间就是 wrapper.setEntity(request.getEntity)

请各位大佬给我指点一些方案我去学习一下

1792 次点击
所在节点    Java
3 条回复
ccppgo
2021-07-09 16:56:36 +08:00
这样做的一个需求就是可以想使用 Vo 代替实体, 当连表查询的时候更方便一点
MoHen9
2021-07-09 17:44:44 +08:00
可以用 HandlerMethodArgumentResolver 实现自定义的请求接口解析,(附:取到请求参数后可以用 JSON 库转换)
sheepzh
2021-07-09 19:00:40 +08:00
Spring MVC 提供了类似 hooker 接口,一般会在里面将请求的固定参数(租户 ID,用户 ID,权限 ID )放进自定义的请求线程上下文 (用 ThreadLocal 保存),然后 repository 层套个 AOP 就可以做数据隔离了。

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

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

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

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

© 2021 V2EX