自定义 Claim HandlerMethodArgumentResolver

This commit is contained in:
Shikong 2023-05-08 20:24:06 +08:00
parent 3b821041a3
commit 90782da7c4

View File

@ -3,6 +3,7 @@ package cn.skcks.matrix.v2.auth.claims;
import cn.skcks.matrix.v2.model.jwt.dto.Claims; import cn.skcks.matrix.v2.model.jwt.dto.Claims;
import cn.skcks.matrix.v2.services.jwt.JwtService; import cn.skcks.matrix.v2.services.jwt.JwtService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -11,13 +12,14 @@ import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer; import org.springframework.web.method.support.ModelAndViewContainer;
@Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@Component @Component
public class ClaimResolver implements HandlerMethodArgumentResolver { public class ClaimResolver implements HandlerMethodArgumentResolver {
private final JwtService jwtService; private final JwtService jwtService;
@Override @Override
public boolean supportsParameter(MethodParameter methodParameter) { public boolean supportsParameter(MethodParameter methodParameter) {
return methodParameter.hasMethodAnnotation(Claim.class) || methodParameter.getParameterType().equals(Claims.class); return methodParameter.hasParameterAnnotation(Claim.class) && methodParameter.getParameterType().equals(Claims.class);
} }
@Override @Override