我有一個 UserController 類如下:
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
UserService userService;
@PostMapping("/create")
public Map<String, Object> createAccount(User user) {
return userService.createAccount(user);
}
@PostMapping("/login")
public Map<String, Object> accountLogin(User user) {
return userService.accountLogin(user);
}
@GetMapping("/activate")
public Map<String, Object> activateAccount(String confirmationCode) {
return userService.activateAccount(confirmationCode);
}
@PostMapping("/roleChange")
public Map<String, Object> setUserRole(String uuid, String email, String roleId){
return userService.setUserRole(uuid, email, roleId);
}
}
現在我只想添加一個攔截器/user/roleChange。我知道你可以排除所有其他路徑,.excludePathPatterns()但我只是好奇是否有辦法為攔截器指定一個路徑。謝謝!
uj5u.com熱心網友回復:
下面是攔截器的示例代碼
@Configuration
public class AppConfig implements WebMvcConfigurer {
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new CustomInterceptor()).addPathPatterns("/user");
}
}
public class CustomInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("Hello..");
return true;
}
}
在此我為攔截器注冊了“/user”。
registry.addInterceptor(new CustomInterceptor()).addPathPatterns("/user");
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/491365.html
