传递参数注解@PathVariable,@RequestParam和RequestBody区别
针对一些非必填的参数,可以使用required
关键字来标识,同时必须设置默认值defaultValue
,如对price参数的获取:
@RequestParam(value = "price",required = false,defaultValue = "0") Integer price
拦截器设置
spring
设置了拦截器,通过实现HandlerInterceptor
接口转换为拦截器类,实现pre、post、after方法
;其中after
方法即使抛出异常也会执行,而post
不会。并通过@Component
注解将该类交给spring
管理。
拦截器注册:在启动类中实现WebMvcConfigurer
接口中的addInterceptors
;
@Autowired
private AuthFilter authFilter;//自定义拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authFilter).addPathPatterns("/merchants/*");//定义拦截路径
}