修复类匿名注解访问失效问题
parent
6bc1a6aeb1
commit
4aac0058ea
|
@ -46,47 +46,65 @@ public class PermitAllUrlProperties implements InitializingBean, ApplicationCont
|
||||||
{
|
{
|
||||||
beanClass = bean.getClass();
|
beanClass = bean.getClass();
|
||||||
}
|
}
|
||||||
RequestMapping base = beanClass.getAnnotation(RequestMapping.class);
|
// 处理类级别的匿名访问注解
|
||||||
String[] baseUrl = {};
|
if (beanClass.isAnnotationPresent(Anonymous.class))
|
||||||
if (Objects.nonNull(base))
|
|
||||||
{
|
{
|
||||||
baseUrl = base.value();
|
RequestMapping baseMapping = beanClass.getAnnotation(RequestMapping.class);
|
||||||
|
if (Objects.nonNull(baseMapping))
|
||||||
|
{
|
||||||
|
String[] baseUrl = baseMapping.value();
|
||||||
|
for (String url : baseUrl)
|
||||||
|
{
|
||||||
|
urls.add(prefix(url) + "/*");
|
||||||
}
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理方法级别的匿名访问注解
|
||||||
Method[] methods = beanClass.getDeclaredMethods();
|
Method[] methods = beanClass.getDeclaredMethods();
|
||||||
for (Method method : methods)
|
for (Method method : methods)
|
||||||
{
|
{
|
||||||
if (method.isAnnotationPresent(Anonymous.class) && method.isAnnotationPresent(RequestMapping.class))
|
if (method.isAnnotationPresent(Anonymous.class))
|
||||||
|
{
|
||||||
|
RequestMapping baseMapping = beanClass.getAnnotation(RequestMapping.class);
|
||||||
|
String[] baseUrl = {};
|
||||||
|
if (Objects.nonNull(baseMapping))
|
||||||
|
{
|
||||||
|
baseUrl = baseMapping.value();
|
||||||
|
}
|
||||||
|
if (method.isAnnotationPresent(RequestMapping.class))
|
||||||
{
|
{
|
||||||
RequestMapping requestMapping = method.getAnnotation(RequestMapping.class);
|
RequestMapping requestMapping = method.getAnnotation(RequestMapping.class);
|
||||||
String[] uri = requestMapping.value();
|
String[] uri = requestMapping.value();
|
||||||
urls.addAll(rebuildUrl(baseUrl, uri));
|
urls.addAll(rebuildUrl(baseUrl, uri));
|
||||||
}
|
}
|
||||||
else if (method.isAnnotationPresent(Anonymous.class) && method.isAnnotationPresent(GetMapping.class))
|
else if (method.isAnnotationPresent(GetMapping.class))
|
||||||
{
|
{
|
||||||
GetMapping requestMapping = method.getAnnotation(GetMapping.class);
|
GetMapping requestMapping = method.getAnnotation(GetMapping.class);
|
||||||
String[] uri = requestMapping.value();
|
String[] uri = requestMapping.value();
|
||||||
urls.addAll(rebuildUrl(baseUrl, uri));
|
urls.addAll(rebuildUrl(baseUrl, uri));
|
||||||
}
|
}
|
||||||
else if (method.isAnnotationPresent(Anonymous.class) && method.isAnnotationPresent(PostMapping.class))
|
else if (method.isAnnotationPresent(PostMapping.class))
|
||||||
{
|
{
|
||||||
PostMapping requestMapping = method.getAnnotation(PostMapping.class);
|
PostMapping requestMapping = method.getAnnotation(PostMapping.class);
|
||||||
String[] uri = requestMapping.value();
|
String[] uri = requestMapping.value();
|
||||||
urls.addAll(rebuildUrl(baseUrl, uri));
|
urls.addAll(rebuildUrl(baseUrl, uri));
|
||||||
}
|
}
|
||||||
else if (method.isAnnotationPresent(Anonymous.class) && method.isAnnotationPresent(PutMapping.class))
|
else if (method.isAnnotationPresent(PutMapping.class))
|
||||||
{
|
{
|
||||||
PutMapping requestMapping = method.getAnnotation(PutMapping.class);
|
PutMapping requestMapping = method.getAnnotation(PutMapping.class);
|
||||||
String[] uri = requestMapping.value();
|
String[] uri = requestMapping.value();
|
||||||
urls.addAll(rebuildUrl(baseUrl, uri));
|
urls.addAll(rebuildUrl(baseUrl, uri));
|
||||||
}
|
}
|
||||||
else if (method.isAnnotationPresent(Anonymous.class) && method.isAnnotationPresent(DeleteMapping.class))
|
else if (method.isAnnotationPresent(DeleteMapping.class))
|
||||||
{
|
{
|
||||||
DeleteMapping requestMapping = method.getAnnotation(DeleteMapping.class);
|
DeleteMapping requestMapping = method.getAnnotation(DeleteMapping.class);
|
||||||
String[] uri = requestMapping.value();
|
String[] uri = requestMapping.value();
|
||||||
urls.addAll(rebuildUrl(baseUrl, uri));
|
urls.addAll(rebuildUrl(baseUrl, uri));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue