关于分页接口中参数的定义,建议封装成DTO
colorful3 opened this issue · comments
Colorful commented
例如如下代码:
我们的项目中的示例代码,但凡碰到分页的相关的传参,都是采用这样的方式定义,将分页的查询参数,定义在了方法参数签名中的,这样虽然比较直观,但无疑增加了代码量。
我们可以封装一个基础分页DTO(例如BasePageDTO
),在 DTO 中定义这些属性。如果有额外的参数,可以继承该 DTO。这样既减少了代码量,也提高了代码的封装性。
GadflyFang commented
Get请求参数使用bean接收时会有个问题,此时的参数绑定并不经过jackson,需要增加BindException的异常处理,并且不能自动从snake_case转camelCase,我后来是用一个自定义的ServletModelAttributeMethodProcessor和ServletRequestDataBinder解决的参数绑定。
Colorful commented
Get请求参数使用bean接收时会有个问题,此时的参数绑定并不经过jackson,需要增加BindException的异常处理,并且不能自动从snake_case转camelCase,我后来是用一个自定义的ServletModelAttributeMethodProcessor和ServletRequestDataBinder解决的参数绑定。
欢迎提交pr来贡献你的代码!😸