feat: ASW-85 新增 API 前置拦截器,请求接口前执行前置操作
1. adb connect 2. adb root 3. start droid_ng 4. 判断 默认链中是否含有 ASW_OUTPUT 如果没有则添加
This commit is contained in:
24
src/main/java/net/geedge/api/interceptor/APIInterceptor.java
Normal file
24
src/main/java/net/geedge/api/interceptor/APIInterceptor.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package net.geedge.api.interceptor;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import net.geedge.api.util.AdbUtil;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
|
||||
public class APIInterceptor implements HandlerInterceptor {
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
AdbUtil adbUtil = AdbUtil.getInstance();
|
||||
if (!adbUtil.connect()) {
|
||||
// 记录日志或设置响应状态
|
||||
response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, "device connect error");
|
||||
return false;
|
||||
}
|
||||
|
||||
// init
|
||||
adbUtil.init(false);
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
18
src/main/java/net/geedge/api/interceptor/WebConfig.java
Normal file
18
src/main/java/net/geedge/api/interceptor/WebConfig.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package net.geedge.api.interceptor;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
/**
|
||||
* WebMvc配置
|
||||
*/
|
||||
@Configuration
|
||||
public class WebConfig implements WebMvcConfigurer {
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
registry.addInterceptor(new APIInterceptor()).addPathPatterns("/api/v1/env/**");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user