web拦截器相关逻辑调整
This commit is contained in:
+2
-4
@@ -25,10 +25,8 @@ import fun.asgc.neutrino.core.annotation.Autowired;
|
||||
import fun.asgc.neutrino.core.annotation.Component;
|
||||
import fun.asgc.neutrino.core.annotation.NonIntercept;
|
||||
import fun.asgc.neutrino.core.bean.SimpleBeanFactory;
|
||||
import fun.asgc.neutrino.core.web.HttpRequestHandler;
|
||||
import fun.asgc.neutrino.core.web.WebApplicationContext;
|
||||
import fun.asgc.neutrino.core.web.WebApplicationServer;
|
||||
import fun.asgc.neutrino.core.web.param.WebContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.WebApplicationContext;
|
||||
import fun.asgc.neutrino.core.web.context.WebContextHolder;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -30,9 +30,8 @@ import fun.asgc.neutrino.core.context.ApplicationConfig;
|
||||
import fun.asgc.neutrino.core.util.*;
|
||||
import fun.asgc.neutrino.core.web.annotation.RequestBody;
|
||||
import fun.asgc.neutrino.core.web.annotation.RequestParam;
|
||||
import fun.asgc.neutrino.core.web.param.HttpContextHolder;
|
||||
import fun.asgc.neutrino.core.web.param.HttpRequestParser;
|
||||
import fun.asgc.neutrino.core.web.param.WebContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.HttpContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.HttpRequestParser;
|
||||
import fun.asgc.neutrino.core.web.router.DefaultHttpRouter;
|
||||
import fun.asgc.neutrino.core.web.router.HttpRouteParam;
|
||||
import fun.asgc.neutrino.core.web.router.HttpRouteResult;
|
||||
@@ -42,7 +41,6 @@ import io.netty.channel.ChannelFutureListener;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.handler.codec.http.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.checkerframework.checker.units.qual.C;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
@@ -28,8 +28,8 @@ import fun.asgc.neutrino.core.annotation.Init;
|
||||
import fun.asgc.neutrino.core.context.ApplicationConfig;
|
||||
import fun.asgc.neutrino.core.context.ApplicationRunner;
|
||||
import fun.asgc.neutrino.core.util.*;
|
||||
import fun.asgc.neutrino.core.web.param.HttpContextHolder;
|
||||
import fun.asgc.neutrino.core.web.param.WebContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.HttpContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.WebContextHolder;
|
||||
import io.netty.bootstrap.ServerBootstrap;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.*;
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
package fun.asgc.neutrino.core.web.param;
|
||||
package fun.asgc.neutrino.core.web.context;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.handler.codec.http.FullHttpRequest;
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
package fun.asgc.neutrino.core.web.param;
|
||||
package fun.asgc.neutrino.core.web.context;
|
||||
|
||||
import fun.asgc.neutrino.core.util.ArrayUtil;
|
||||
import fun.asgc.neutrino.core.util.Assert;
|
||||
+3
-3
@@ -19,15 +19,16 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
package fun.asgc.neutrino.core.web;
|
||||
package fun.asgc.neutrino.core.web.context;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import fun.asgc.neutrino.core.annotation.*;
|
||||
import fun.asgc.neutrino.core.bean.SimpleBeanFactory;
|
||||
import fun.asgc.neutrino.core.context.ApplicationContext;
|
||||
import fun.asgc.neutrino.core.context.ApplicationRunner;
|
||||
import fun.asgc.neutrino.core.web.HttpRequestHandler;
|
||||
import fun.asgc.neutrino.core.web.WebApplicationServer;
|
||||
import fun.asgc.neutrino.core.web.interceptor.ControllerGlobalInterceptor;
|
||||
import fun.asgc.neutrino.core.web.param.WebContextHolder;
|
||||
import fun.asgc.neutrino.core.web.router.DefaultHttpRouter;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
@@ -57,7 +58,6 @@ public class WebApplicationContext implements ApplicationRunner {
|
||||
public void init() {
|
||||
this.webApplicationBeanFactory = new SimpleBeanFactory(applicationBeanFactory, "webApplicationBeanFactory");
|
||||
this.webApplicationBeanFactory.init();
|
||||
// TODO 初始化路由信息
|
||||
}
|
||||
|
||||
@Destroy
|
||||
+1
-2
@@ -19,7 +19,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
package fun.asgc.neutrino.core.web.param;
|
||||
package fun.asgc.neutrino.core.web.context;
|
||||
|
||||
import fun.asgc.neutrino.core.annotation.Autowired;
|
||||
import fun.asgc.neutrino.core.annotation.Component;
|
||||
@@ -32,7 +32,6 @@ import fun.asgc.neutrino.core.util.*;
|
||||
import fun.asgc.neutrino.core.web.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
+20
-1
@@ -24,16 +24,27 @@ package fun.asgc.neutrino.core.web.interceptor;
|
||||
import fun.asgc.neutrino.core.annotation.Component;
|
||||
import fun.asgc.neutrino.core.annotation.Init;
|
||||
import fun.asgc.neutrino.core.annotation.NonIntercept;
|
||||
import fun.asgc.neutrino.core.aop.Aop;
|
||||
import fun.asgc.neutrino.core.aop.Invocation;
|
||||
import fun.asgc.neutrino.core.aop.interceptor.*;
|
||||
import fun.asgc.neutrino.core.bean.BeanWrapper;
|
||||
import fun.asgc.neutrino.core.util.ReflectUtil;
|
||||
import fun.asgc.neutrino.core.web.annotation.GetMapping;
|
||||
import fun.asgc.neutrino.core.web.annotation.PostMapping;
|
||||
import fun.asgc.neutrino.core.web.annotation.RequestMapping;
|
||||
import fun.asgc.neutrino.core.web.context.WebContextHolder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Controller全局拦截器
|
||||
* @author: aoshiguchen
|
||||
* @date: 2022/7/27
|
||||
*/
|
||||
@Slf4j
|
||||
@NonIntercept
|
||||
@Component
|
||||
public class ControllerGlobalInterceptor implements Interceptor {
|
||||
@@ -48,7 +59,15 @@ public class ControllerGlobalInterceptor implements Interceptor {
|
||||
|
||||
@Init
|
||||
public void init() {
|
||||
// TODO
|
||||
List<BeanWrapper> beanWrapperList = WebContextHolder.getControllerBeanWrapperList();
|
||||
beanWrapperList.forEach(beanWrapper -> {
|
||||
Set<Method> methods = ReflectUtil.getDeclaredMethods(beanWrapper.getType());
|
||||
methods.forEach(method -> {
|
||||
if (method.isAnnotationPresent(GetMapping.class) || method.isAnnotationPresent(PostMapping.class) || method.isAnnotationPresent(RequestMapping.class)) {
|
||||
Aop.intercept(method, this.getClass());
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ import fun.asgc.neutrino.core.web.HttpMethod;
|
||||
import fun.asgc.neutrino.core.web.annotation.GetMapping;
|
||||
import fun.asgc.neutrino.core.web.annotation.PostMapping;
|
||||
import fun.asgc.neutrino.core.web.annotation.RequestMapping;
|
||||
import fun.asgc.neutrino.core.web.param.WebContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.WebContextHolder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
@@ -23,9 +23,8 @@ package fun.asgc.neutrino.core.web.test1;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import fun.asgc.neutrino.core.annotation.Autowired;
|
||||
import fun.asgc.neutrino.core.annotation.NonIntercept;
|
||||
import fun.asgc.neutrino.core.web.annotation.*;
|
||||
import fun.asgc.neutrino.core.web.param.HttpContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.HttpContextHolder;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelFutureListener;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ import fun.asgc.neutrino.core.annotation.Autowired;
|
||||
import fun.asgc.neutrino.core.web.annotation.GetMapping;
|
||||
import fun.asgc.neutrino.core.web.annotation.RequestMapping;
|
||||
import fun.asgc.neutrino.core.web.annotation.RestController;
|
||||
import fun.asgc.neutrino.core.web.param.HttpContextHolder;
|
||||
import fun.asgc.neutrino.core.web.context.HttpContextHolder;
|
||||
import fun.asgc.neutrino.proxy.server.service.Test1Service;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user