Spring参数解析器震撼来袭!

189次阅读
没有评论

共计 1040 个字符,预计需要花费 3 分钟才能阅读完成。

前言

服务端系统中,Spring默认帮助我们做了很多,除此之外,提供了很多扩展入口,请求参数解析也不例外。本文将展示扩展的Spring参数解析器,该解析器目前提供了参数名的格式自动转换,当请求参数命名格式不符合实际定义的参数名,能够自动的帮助我们解决,再也不用写参数名称绑定👋👋👋提升效率🤩🤩🤩

正文

对于Spring 5.x的应用,即Spring Boot 2.4+的版本

implementation("org.flmelody:spring-method-parameter-resolver:1.0.2-spring5")

对于Spring 6.x的应用,即Spring Boot 3.x的版本

implementation("org.flmelody:spring-method-parameter-resolver:1.0.1-spring6")

依赖导入后,我们只需要启用参数解析器,比如

@EnableWebResolver(paramNamingStrategy = NamingStrategy.SNAKE_CASE)
@SpringBootApplication
public class SpringBootExplorerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootExplorerApplication.class, args);
    }

}

如果你直接继承WebMvcConfigurationSupport实现了自己的配置,参数解析器可能不会生效,常规的做法是继承DelegatingWebMvcConfiguration来实现兼容

启用该行配置后,该参数解析器默认全局启用蛇形命名参数绑定,接下来,我们就可以使用@WebParam参数注解了,替换之前使用的@RequestParam

  @GetMapping(value = "/auto-converter")
  public void useWebParam(@WebParam String userId) {
  }

此时蛇形请求参数形如user_id将会自动绑定到userId。当然,如果你不想使用全局的解析器参数命名配置,可以直接指定当前的WebParam命名策略

扩展

目前该扩展包支持自定义扩展,你可以实现自己的参数解析器,参数命名转换器,实现基础扩展接口WebMethodArgumentResolver NamingStrategyHandler 即可👌

正文完
 
mysteriousman
版权声明:本站原创文章,由 mysteriousman 2024-06-01发表,共计1040字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)