diff --git a/magic-api-plugins/magic-api-plugin-cluster/pom.xml b/magic-api-plugins/magic-api-plugin-cluster/pom.xml
index 021daaef..5a5067c4 100644
--- a/magic-api-plugins/magic-api-plugin-cluster/pom.xml
+++ b/magic-api-plugins/magic-api-plugin-cluster/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-plugins
- 2.1.1
+ 3.0.0
magic-api-plugin-cluster
jar
diff --git a/magic-api-plugins/magic-api-plugin-elasticsearch/pom.xml b/magic-api-plugins/magic-api-plugin-elasticsearch/pom.xml
index a28052cf..32ed8b93 100644
--- a/magic-api-plugins/magic-api-plugin-elasticsearch/pom.xml
+++ b/magic-api-plugins/magic-api-plugin-elasticsearch/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-plugins
- 2.1.1
+ 3.0.0
magic-api-plugin-elasticsearch
jar
diff --git a/magic-api-plugins/magic-api-plugin-git/pom.xml b/magic-api-plugins/magic-api-plugin-git/pom.xml
index 57d26ea2..f94bd353 100644
--- a/magic-api-plugins/magic-api-plugin-git/pom.xml
+++ b/magic-api-plugins/magic-api-plugin-git/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-plugins
- 2.1.1
+ 3.0.0
magic-api-plugin-git
jar
diff --git a/magic-api-plugins/magic-api-plugin-mongo/pom.xml b/magic-api-plugins/magic-api-plugin-mongo/pom.xml
index 797656a9..d9c90fdf 100644
--- a/magic-api-plugins/magic-api-plugin-mongo/pom.xml
+++ b/magic-api-plugins/magic-api-plugin-mongo/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-plugins
- 2.1.1
+ 3.0.0
magic-api-plugin-mongo
jar
diff --git a/magic-api-plugins/magic-api-plugin-redis/pom.xml b/magic-api-plugins/magic-api-plugin-redis/pom.xml
index c9e8b060..68bc04f2 100644
--- a/magic-api-plugins/magic-api-plugin-redis/pom.xml
+++ b/magic-api-plugins/magic-api-plugin-redis/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-plugins
- 2.1.1
+ 3.0.0
magic-api-plugin-redis
jar
diff --git a/magic-api-plugins/magic-api-plugin-springdoc/pom.xml b/magic-api-plugins/magic-api-plugin-springdoc/pom.xml
index fafb6d3d..2967ea92 100644
--- a/magic-api-plugins/magic-api-plugin-springdoc/pom.xml
+++ b/magic-api-plugins/magic-api-plugin-springdoc/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-plugins
- 2.1.1
+ 3.0.0
magic-api-plugin-springdoc
jar
diff --git a/magic-api-plugins/magic-api-plugin-swagger/pom.xml b/magic-api-plugins/magic-api-plugin-swagger/pom.xml
index 2b880399..55c2a27d 100644
--- a/magic-api-plugins/magic-api-plugin-swagger/pom.xml
+++ b/magic-api-plugins/magic-api-plugin-swagger/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-plugins
- 2.1.1
+ 3.0.0
magic-api-plugin-swagger
jar
diff --git a/magic-api-servlet/magic-api-servlet-jakarta/pom.xml b/magic-api-servlet/magic-api-servlet-jakarta/pom.xml
index a853f5a2..40620c7a 100644
--- a/magic-api-servlet/magic-api-servlet-jakarta/pom.xml
+++ b/magic-api-servlet/magic-api-servlet-jakarta/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-servlet
- 2.1.1
+ 3.0.0
magic-api-servlet-jakarta
jar
@@ -19,7 +19,7 @@
jakarta.servlet
jakarta.servlet-api
- true
+
@@ -27,13 +27,17 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.10.1
+ 3.8.1
17
17
- UTF-8
+
+ -parameters
+
+
+
diff --git a/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/MagicJakartaServletConfiguration.java b/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/MagicJakartaServletConfiguration.java
index 19e37516..7ea058b3 100644
--- a/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/MagicJakartaServletConfiguration.java
+++ b/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/MagicJakartaServletConfiguration.java
@@ -24,10 +24,13 @@ public class MagicJakartaServletConfiguration implements WebMvcConfigurer {
private final MagicJakartaCorsFilter magicCorsFilter = new MagicJakartaCorsFilter();
private final ObjectProvider magicWebRequestInterceptorProvider;
+ private final WebIPLimitRequestInterceptor webIPLimitRequestInterceptor;
- public MagicJakartaServletConfiguration(MagicAPIProperties properties, ObjectProvider magicWebRequestInterceptorProvider) {
+
+ public MagicJakartaServletConfiguration(MagicAPIProperties properties, ObjectProvider magicWebRequestInterceptorProvider , WebIPLimitRequestInterceptor webIPLimitRequestInterceptorProvider) {
this.properties = properties;
this.magicWebRequestInterceptorProvider = magicWebRequestInterceptorProvider;
+ this.webIPLimitRequestInterceptor = webIPLimitRequestInterceptorProvider;
}
@Bean
@@ -55,6 +58,7 @@ public class MagicJakartaServletConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(magicWebRequestInterceptorProvider.getObject()).addPathPatterns("/**");
+ registry.addInterceptor(webIPLimitRequestInterceptor).addPathPatterns(properties.getWeb()+"/**");
}
@Bean
diff --git a/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/MagicWebInterceptor.java b/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/MagicWebInterceptor.java
new file mode 100644
index 00000000..aade867f
--- /dev/null
+++ b/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/MagicWebInterceptor.java
@@ -0,0 +1,8 @@
+package org.ssssssss.magicapi.servlet.jakarta;
+
+import org.springframework.web.servlet.HandlerInterceptor;
+
+
+public interface MagicWebInterceptor extends HandlerInterceptor {
+
+}
diff --git a/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/WebIPLimitRequestInterceptor.java b/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/WebIPLimitRequestInterceptor.java
new file mode 100644
index 00000000..9019125e
--- /dev/null
+++ b/magic-api-servlet/magic-api-servlet-jakarta/src/main/java/org/ssssssss/magicapi/servlet/jakarta/WebIPLimitRequestInterceptor.java
@@ -0,0 +1,80 @@
+package org.ssssssss.magicapi.servlet.jakarta;
+
+import jakarta.annotation.PostConstruct;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jdk.jfr.DataAmount;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.stereotype.Component;
+import org.ssssssss.magicapi.utils.IpUtils;
+
+import java.io.PrintWriter;
+
+
+/**
+ * Web 接口管理界面 IP白名单
+ */
+public class WebIPLimitRequestInterceptor implements MagicWebInterceptor {
+
+ public final static String START_PLUGIN_LOG_MSG="已开启[{}],如需关闭[{}],插件配置信息:[{}]";
+ private static final Logger log = LoggerFactory.getLogger(WebIPLimitRequestInterceptor.class);
+ /**
+ * 白名单
+ */
+ private String whitelist;
+
+ private String blacklist;
+
+ @PostConstruct
+ public void initIpLimitRequestInterceptor() {
+ log.info(START_PLUGIN_LOG_MSG, "Web UI IP白名单", "magic-api.api-iplimit.enable=false", "magic-api.api-iplimit.whitelist=ip地址逗号分隔");
+ }
+
+
+ private boolean isIpInBlacklist(String ip) {
+ return blacklist!=null&&!blacklist.isEmpty() && blacklist.contains(ip);
+ }
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+ String ip = IpUtils.getRealIP(request.getRemoteAddr(), request::getHeader, null);
+ if (ip == null) {
+ return true;
+ }
+ if ("127.0.0.1".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) {
+ return true;
+ }
+ boolean isAllow = !isIpInBlacklist(ip);
+ if (whitelist != null && !whitelist.isEmpty() && !whitelist.contains(ip)) {
+ isAllow=false;
+ }
+ if (!isAllow ) {
+ response.setStatus(HttpServletResponse.SC_FORBIDDEN);
+ response.setContentType("text/plain;charset=UTF-8");
+ PrintWriter writer = response.getWriter();
+ writer.write(String.format("当前IP:[%s]无权访问该资源,请联系管理员!", ip));
+ writer.flush();
+ return false;
+ }else{
+ return true;
+ }
+ }
+
+ public String getWhitelist() {
+ return whitelist;
+ }
+
+ public void setWhitelist(String whitelist) {
+ this.whitelist = whitelist;
+ }
+
+ public String getBlacklist() {
+ return blacklist;
+ }
+
+ public void setBlacklist(String blacklist) {
+ this.blacklist = blacklist;
+ }
+}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/pom.xml b/magic-api-servlet/magic-api-servlet-javaee/pom.xml
deleted file mode 100644
index 852103d3..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/pom.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- 4.0.0
-
- org.ssssssss
- magic-api-servlet
- 2.1.1
-
- magic-api-servlet-javaee
- jar
- magic-api-servlet-javaee
- auto generate http api
-
-
-
-
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEECookie.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEECookie.java
deleted file mode 100644
index 8192b64a..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEECookie.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.ssssssss.magicapi.core.servlet.MagicCookie;
-
-import javax.servlet.http.Cookie;
-
-public class MagicJavaEECookie implements MagicCookie {
-
- private final Cookie cookie;
-
- public MagicJavaEECookie(Cookie cookie) {
- this.cookie = cookie;
- }
-
- @Override
- public String getName() {
- return cookie.getName();
- }
-
- @Override
- public String getValue() {
- return cookie.getValue();
- }
-
- @Override
- public T getCookie() {
- return (T) cookie;
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEECorsFilter.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEECorsFilter.java
deleted file mode 100644
index 05dea150..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEECorsFilter.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.ssssssss.magicapi.core.config.MagicCorsFilter;
-
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-public class MagicJavaEECorsFilter extends MagicCorsFilter implements Filter {
-
- @Override
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
- super.process(new MagicJavaEEHttpServletRequest((HttpServletRequest) request, null), new MagicJavaEEHttpServletResponse((HttpServletResponse) response));
- chain.doFilter(request, response);
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpServletRequest.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpServletRequest.java
deleted file mode 100644
index 2c8e182d..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpServletRequest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.springframework.core.MethodParameter;
-import org.springframework.http.HttpInputMessage;
-import org.springframework.http.server.ServletServerHttpRequest;
-import org.springframework.web.bind.support.WebDataBinderFactory;
-import org.springframework.web.context.request.NativeWebRequest;
-import org.springframework.web.method.support.HandlerMethodArgumentResolver;
-import org.springframework.web.method.support.ModelAndViewContainer;
-import org.springframework.web.multipart.MultipartRequest;
-import org.springframework.web.multipart.MultipartResolver;
-import org.ssssssss.magicapi.core.servlet.MagicCookie;
-import org.ssssssss.magicapi.core.servlet.MagicHttpServletRequest;
-import org.ssssssss.magicapi.core.servlet.MagicHttpSession;
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.Principal;
-import java.util.Arrays;
-import java.util.Enumeration;
-
-public class MagicJavaEEHttpServletRequest implements MagicHttpServletRequest {
-
- private final HttpServletRequest request;
-
- private final MultipartResolver multipartResolver;
-
- public MagicJavaEEHttpServletRequest(HttpServletRequest request, MultipartResolver multipartResolver) {
- this.request = request;
- this.multipartResolver = multipartResolver;
- }
-
- @Override
- public String getHeader(String name) {
- return request.getHeader(name);
- }
-
- @Override
- public Enumeration getHeaders(String name) {
- return request.getHeaders(name);
- }
-
- @Override
- public String getRequestURI() {
- return request.getRequestURI();
- }
-
- @Override
- public String getMethod() {
- return request.getMethod();
- }
-
- @Override
- public void setAttribute(String key, Object value) {
- request.setAttribute(key, value);
- }
-
- @Override
- public String[] getParameterValues(String name) {
- return request.getParameterValues(name);
- }
-
- @Override
- public Object getAttribute(String name) {
- return request.getAttribute(name);
- }
-
- @Override
- public HttpInputMessage getHttpInputMessage() {
- return new ServletServerHttpRequest(request);
- }
-
- @Override
- public String getContentType() {
- return request.getContentType();
- }
-
- @Override
- public MagicHttpSession getSession() {
- return new MagicJavaEEHttpSession(request.getSession());
- }
-
- @Override
- public MagicCookie[] getCookies() {
- Cookie[] cookies = request.getCookies();
- if (cookies == null) {
- return new MagicJavaEECookie[0];
- }
- return Arrays.stream(request.getCookies()).map(MagicJavaEECookie::new).toArray(MagicJavaEECookie[]::new);
- }
-
- @Override
- public InputStream getInputStream() throws IOException {
- return request.getInputStream();
- }
-
- @Override
- public boolean isMultipart() {
- return multipartResolver.isMultipart(request);
- }
-
- @Override
- public String getRemoteAddr() {
- return request.getRemoteAddr();
- }
-
- @Override
- public MultipartRequest resolveMultipart() {
- return multipartResolver.resolveMultipart(request);
- }
-
- @Override
- public Principal getUserPrincipal() {
- return request.getUserPrincipal();
- }
-
- @Override
- public T getRequest() {
- return (T) request;
- }
-
- public static class ArgumentsResolver implements HandlerMethodArgumentResolver {
-
- @Override
- public boolean supportsParameter(MethodParameter parameter) {
- return parameter.getParameterType() == MagicHttpServletRequest.class;
- }
-
- @Override
- public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
- return new MagicJavaEEHttpServletRequest(webRequest.getNativeRequest(HttpServletRequest.class), null);
- }
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpServletResponse.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpServletResponse.java
deleted file mode 100644
index fb3ed4cd..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpServletResponse.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.springframework.core.MethodParameter;
-import org.springframework.web.bind.support.WebDataBinderFactory;
-import org.springframework.web.context.request.NativeWebRequest;
-import org.springframework.web.method.support.HandlerMethodArgumentResolver;
-import org.springframework.web.method.support.ModelAndViewContainer;
-import org.ssssssss.magicapi.core.servlet.MagicCookie;
-import org.ssssssss.magicapi.core.servlet.MagicHttpServletResponse;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Collection;
-
-public class MagicJavaEEHttpServletResponse implements MagicHttpServletResponse {
-
- private final HttpServletResponse response;
-
-
- public MagicJavaEEHttpServletResponse(HttpServletResponse response) {
- this.response = response;
- }
-
- @Override
- public void setHeader(String name, String value) {
- response.setHeader(name, value);
- }
-
- @Override
- public void addHeader(String name, String value) {
- response.addHeader(name, value);
- }
-
- @Override
- public void sendRedirect(String location) throws IOException {
- response.sendRedirect(location);
- }
-
- @Override
- public void addCookie(MagicCookie cookie) {
- response.addCookie(cookie.getCookie());
- }
-
- @Override
- public void setContentType(String contentType) {
- response.setContentType(contentType);
- }
-
- @Override
- public void setCharacterEncoding(String characterEncoding) {
- response.setCharacterEncoding(characterEncoding);
- }
-
- @Override
- public OutputStream getOutputStream() throws IOException {
- return response.getOutputStream();
- }
-
- @Override
- public Collection getHeaderNames() {
- return response.getHeaderNames();
- }
-
- @Override
- public T getResponse() {
- return (T) response;
- }
-
-
- public static class ArgumentsResolver implements HandlerMethodArgumentResolver {
-
- @Override
- public boolean supportsParameter(MethodParameter parameter) {
- return parameter.getParameterType() == MagicHttpServletResponse.class;
- }
-
- @Override
- public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
- return new MagicJavaEEHttpServletResponse(webRequest.getNativeResponse(HttpServletResponse.class));
- }
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpSession.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpSession.java
deleted file mode 100644
index d5c7db03..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEHttpSession.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.ssssssss.magicapi.core.servlet.MagicHttpSession;
-
-import javax.servlet.http.HttpSession;
-
-public class MagicJavaEEHttpSession implements MagicHttpSession {
-
- private final HttpSession session;
-
- public MagicJavaEEHttpSession(HttpSession session) {
- this.session = session;
- }
-
- @Override
- public Object getAttribute(String key) {
- return session.getAttribute(key);
- }
-
- @Override
- public void setAttribute(String key, Object value) {
- session.setAttribute(key, value);
- }
-
- @Override
- public T getSession() {
- return (T) session;
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEERequestContextHolder.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEERequestContextHolder.java
deleted file mode 100644
index a6131d68..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEERequestContextHolder.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.springframework.web.multipart.MultipartResolver;
-import org.ssssssss.magicapi.core.servlet.MagicHttpServletRequest;
-import org.ssssssss.magicapi.core.servlet.MagicHttpServletResponse;
-import org.ssssssss.magicapi.core.servlet.MagicRequestContextHolder;
-
-public class MagicJavaEERequestContextHolder implements MagicRequestContextHolder {
-
- private final MultipartResolver multipartResolver;
-
- public MagicJavaEERequestContextHolder(MultipartResolver multipartResolver) {
- this.multipartResolver = multipartResolver;
- }
-
- @Override
- public MagicHttpServletRequest getRequest() {
- return convert(servletRequestAttributes -> new MagicJavaEEHttpServletRequest(servletRequestAttributes.getRequest(), multipartResolver));
- }
-
- @Override
- public MagicHttpServletResponse getResponse() {
- return convert(servletRequestAttributes -> new MagicJavaEEHttpServletResponse(servletRequestAttributes.getResponse()));
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEResponseExtension.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEResponseExtension.java
deleted file mode 100644
index 1e9b4005..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEResponseExtension.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.apache.commons.lang3.StringUtils;
-import org.ssssssss.magicapi.core.context.RequestContext;
-import org.ssssssss.magicapi.core.servlet.MagicHttpServletResponse;
-import org.ssssssss.magicapi.modules.servlet.ResponseModule;
-import org.ssssssss.script.annotation.Comment;
-import org.ssssssss.script.functions.ExtensionMethod;
-import org.ssssssss.script.functions.ObjectConvertExtension;
-
-import javax.servlet.http.Cookie;
-import java.util.Map;
-
-public class MagicJavaEEResponseExtension implements ExtensionMethod {
-
- /**
- * 添加cookie
- */
- @Comment("添加Cookie")
- public ResponseModule addCookie(ResponseModule module, @Comment(name = "cookie", value = "Cookie对象") Cookie cookie) {
- if (cookie != null) {
- MagicHttpServletResponse response = RequestContext.getHttpServletResponse();
- if (response != null) {
- response.addCookie(new MagicJavaEECookie(cookie));
- }
- }
- return module;
- }
-
- /**
- * 批量添加cookie
- */
- @Comment("批量添加Cookie")
- public ResponseModule addCookies(ResponseModule module, @Comment(name = "cookies", value = "Cookies") Map cookies) {
- return addCookies(module, cookies, null);
-
- }
-
- /**
- * 添加cookie
- */
- @Comment("添加Cookie")
- public ResponseModule addCookie(ResponseModule module, @Comment(name = "name", value = "Cookie名") String name,
- @Comment(name = "value", value = "Cookie值") String value,
- @Comment(name = "options", value = "Cookie选项,如`path`、`httpOnly`、`domain`、`maxAge`") Map options) {
- if (StringUtils.isNotBlank(name)) {
- Cookie cookie = new Cookie(name, value);
- if (options != null) {
- Object path = options.get("path");
- if (path != null) {
- cookie.setPath(path.toString());
- }
- Object httpOnly = options.get("httpOnly");
- if (httpOnly != null) {
- cookie.setHttpOnly("true".equalsIgnoreCase(httpOnly.toString()));
- }
- Object domain = options.get("domain");
- if (domain != null) {
- cookie.setDomain(domain.toString());
- }
- Object maxAge = options.get("maxAge");
- int age;
- if (maxAge != null && (age = ObjectConvertExtension.asInt(maxAge, Integer.MIN_VALUE)) != Integer.MIN_VALUE) {
- cookie.setMaxAge(age);
- }
- }
- addCookie(module, cookie);
- }
- return module;
- }
-
-
- /**
- * 添加cookie
- */
- @Comment("添加Cookie")
- public ResponseModule addCookie(ResponseModule module, @Comment(name = "name", value = "cookie名") String name,
- @Comment(name = "value", value = "cookie值") String value) {
- if (StringUtils.isNotBlank(name)) {
- addCookie(module, new Cookie(name, value));
- }
- return module;
- }
-
- /**
- * 批量添加cookie
- */
- @Comment("批量添加Cookie")
- public ResponseModule addCookies(ResponseModule module,
- @Comment(name = "cookies", value = "Cookies") Map cookies,
- @Comment(name = "options", value = "Cookie选项,如`path`、`httpOnly`、`domain`、`maxAge`") Map options) {
- if (cookies != null) {
- for (Map.Entry entry : cookies.entrySet()) {
- addCookie(module, entry.getKey(), entry.getValue(), options);
- }
- }
- return module;
- }
-
- @Override
- public Class> support() {
- return ResponseModule.class;
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEServletConfiguration.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEServletConfiguration.java
deleted file mode 100644
index 23468184..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEServletConfiguration.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.Ordered;
-import org.springframework.web.method.support.HandlerMethodArgumentResolver;
-import org.springframework.web.multipart.MultipartResolver;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import org.ssssssss.magicapi.core.config.MagicAPIProperties;
-import org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor;
-import org.ssssssss.magicapi.core.servlet.MagicRequestContextHolder;
-
-import java.util.List;
-
-@Configuration
-public class MagicJavaEEServletConfiguration implements WebMvcConfigurer {
-
- private final MagicAPIProperties properties;
-
- private final ObjectProvider magicWebRequestInterceptorProvider;
-
-
- public MagicJavaEEServletConfiguration(MagicAPIProperties properties, ObjectProvider magicWebRequestInterceptorProvider) {
- this.properties = properties;
- this.magicWebRequestInterceptorProvider = magicWebRequestInterceptorProvider;
- }
-
- private MagicJavaEECorsFilter magicCorsFilter = new MagicJavaEECorsFilter();
-
- @Bean
- public MagicRequestContextHolder magicRequestContextHolder(MultipartResolver multipartResolver){
- return new MagicJavaEERequestContextHolder(multipartResolver);
- }
-
- @Bean
- public MagicJavaEEWebRequestInterceptor magicWebRequestInterceptor(AuthorizationInterceptor authorizationInterceptor){
- return new MagicJavaEEWebRequestInterceptor(properties.isSupportCrossDomain() ? magicCorsFilter : null, authorizationInterceptor);
- }
-
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- registry.addInterceptor(magicWebRequestInterceptorProvider.getObject()).addPathPatterns("/**");
- }
-
- @Override
- public void addArgumentResolvers(List resolvers) {
- resolvers.add(0, new MagicJavaEEHttpServletRequest.ArgumentsResolver());
- resolvers.add(0, new MagicJavaEEHttpServletResponse.ArgumentsResolver());
- }
-
- @Bean
- public MagicJavaEEResponseExtension magicJavaEEResponseExtension() {
- return new MagicJavaEEResponseExtension();
- }
-
- @Bean
- @ConditionalOnProperty(prefix = "magic-api", value = "support-cross-domain", havingValue = "true", matchIfMissing = true)
- public FilterRegistrationBean magicCorsFilterRegistrationBean() {
- FilterRegistrationBean registration = new FilterRegistrationBean<>(magicCorsFilter);
- registration.addUrlPatterns("/*");
- registration.setName("Magic Cors Filter");
- registration.setOrder(Ordered.HIGHEST_PRECEDENCE);
- return registration;
- }
-}
diff --git a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEWebRequestInterceptor.java b/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEWebRequestInterceptor.java
deleted file mode 100644
index fb9354ce..00000000
--- a/magic-api-servlet/magic-api-servlet-javaee/src/main/java/org/ssssssss/magicapi/servlet/javaee/MagicJavaEEWebRequestInterceptor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.ssssssss.magicapi.servlet.javaee;
-
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.ssssssss.magicapi.core.config.MagicCorsFilter;
-import org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor;
-import org.ssssssss.magicapi.core.interceptor.MagicWebRequestInterceptor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public class MagicJavaEEWebRequestInterceptor extends MagicWebRequestInterceptor implements HandlerInterceptor {
-
-
- public MagicJavaEEWebRequestInterceptor(MagicCorsFilter magicCorsFilter, AuthorizationInterceptor authorizationInterceptor) {
- super(magicCorsFilter, authorizationInterceptor);
- }
-
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- super.handle(handler, new MagicJavaEEHttpServletRequest(request, null), new MagicJavaEEHttpServletResponse(response));
- return true;
- }
-}
diff --git a/magic-api-servlet/pom.xml b/magic-api-servlet/pom.xml
index 5b72d89a..970dd117 100644
--- a/magic-api-servlet/pom.xml
+++ b/magic-api-servlet/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-parent
- 2.1.1
+ 3.0.0
magic-api-servlet
pom
@@ -14,7 +14,6 @@
auto generate http api
magic-api-servlet-jakarta
- magic-api-servlet-javaee
@@ -22,4 +21,20 @@
magic-api
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 17
+ 17
+
+ -parameters
+
+
+
+
+
+
diff --git a/magic-editor/pom.xml b/magic-editor/pom.xml
index 15a7f018..4af5dfdc 100644
--- a/magic-editor/pom.xml
+++ b/magic-editor/pom.xml
@@ -6,7 +6,7 @@
org.ssssssss
magic-api-parent
- 2.1.1
+ 3.0.0
magic-editor
jar
diff --git a/pom.xml b/pom.xml
index 7b558e24..6ddf747f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
org.ssssssss
magic-api-parent
- 2.1.1
+ 3.0.0
pom
magic-api-parent
auto generate http api
@@ -29,7 +29,7 @@
scm:git:https://gitee.com/ssssssss-team/magic-api.git
- 2.4.5
+ 3.3.0
1.8.8
1.21
2.7
@@ -38,10 +38,11 @@
6.0.0
1.2.83
1.3.8.RELEASE
- 1.8
- 1.8
- 1.8
+ 17
+ 17
+ 17
UTF-8
+ true
magic-api
@@ -133,6 +134,17 @@
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 17
+ 17
+
+ -parameters
+
+
+
@@ -142,10 +154,14 @@
+ org.apache.maven.plugins
maven-compiler-plugin
- 1.8
- 1.8
+ 17
+ 17
+
+ -parameters
+