管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-09-27 7ecb31ad0ebe28867a9d40a8b9bb31f5c27a0f37
1
已添加2个文件
已修改1个文件
216 ■■■■ 文件已修改
src/main/java/com/lf/server/config/WebConfig.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/all/HttpStatus.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/interceptor/CrosFilter.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/config/WebConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.lf.server.config;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.util.AntPathMatcher;
import org.springframework.web.servlet.config.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
 * WebConfig
 * @author WWW
 */
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
    /**
     * swagger控制
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
    /**
     * å¿½ç•¥url地址大小写
     */
    @Override
    protected void configurePathMatch(PathMatchConfigurer configurer) {
        AntPathMatcher matcher = new AntPathMatcher();
        matcher.setCaseSensitive(false);
        configurer.setPathMatcher(matcher);
    }
    /**
     * è·¨åŸŸè¯·æ±‚
     */
    @Override
    protected void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedHeaders("*")
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                .maxAge(3600)
                .allowCredentials(true);
    }
    /**
     * æ·»åŠ ç»Ÿä¸€çš„æ‹¦æˆªå™¨
     */
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        super.addInterceptors(registry);
    }
    /**
     * å¤„理json格式,值null的转换为""
     */
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(
                SerializerFeature.WriteNullListAsEmpty,
                SerializerFeature.WriteMapNullValue,
                SerializerFeature.WriteNullStringAsEmpty,
                SerializerFeature.WriteNullBooleanAsFalse);
        // ç»“果是否格式化,默认为false
        //SerializerFeature.PrettyFormat);
        List<MediaType> fastMediaTypes = new ArrayList<>();
        converter.setSupportedMediaTypes(fastMediaTypes);
        converter.setFastJsonConfig(fastJsonConfig);
        converters.add(converter);
    }
}
src/main/java/com/lf/server/entity/all/HttpStatus.java
@@ -5,67 +5,85 @@
 * @author
 */
public enum HttpStatus {
    /**
     * è¯·æ±‚成功
     */
    OK(200,"请求成功"),
    /**
     * è¯·æ±‚无效
     */
    BAD_REQUEST(400,"请求无效"),
    /**
     * æœªç»æŽˆæƒè®¿é—®
     */
    UNAUTHORIZED(401,"未经授权访问"),
    /**
     * æœåŠ¡è¯·æ±‚æœªæ‰¾åˆ°
     */
    NOT_FOUND(404,"服务请求未找到"),
    NODATA_FOUND(404404,"数据未找到"),
    /**
     * ç³»ç»Ÿé”™è¯¯
     */
    ERROR(500,"系统错误"),
    UNIQUE_ERROR(500100,"数据唯一性错误,存在重复的数据"),
    /**
     * å­˜åœ¨é‡å¤çš„æ•°æ®
     */
    UNIQUE_ERROR(500100,"存在重复的数据"),
    /**
     * å‚数校验错误
     */
    VALIDATE_ERROR(500101,"参数校验错误"),
    /**
     * token错误
     */
    TOKEN_ERROR(500102,"token错误"),
    /**
     * ç”¨æˆ·æœªç™»é™†
     */
    NO_LOGIN_ERROR(500104,"用户未登陆"),
    LOGIN_ERROR(500105,"用户登陆失败"),
    /**
     * ç™»é™†å¤±è´¥
     */
    LOGIN_ERROR(500105,"登陆失败"),
    /**
     * æ— æƒé™è®¿é—®
     */
    NO_AUTH_ERROR(500106,"无权限访问"),
    /**
     * ç”¨æˆ·åé”™è¯¯
     */
    LOGIN_USER_ERROR(500107,"用户名错误"),
    LOGIN_PWD_ERROR(500108,"用户密码错误"),
    /**
     * å¯†ç é”™è¯¯
     */
    LOGIN_PWD_ERROR(500108,"密码错误"),
    /**
     * ç”¨æˆ·è¢«é”å®š
     */
    USER_LOCK_ERROR(500109,"用户被锁定"),
    PWD_NONSTANDARD(500111,"用户密码不合规范"),
    /**
     * å¯†ç ä¸åˆè§„范
     */
    PWD_NONSTANDARD(500111,"密码不合规范"),
    ACCOUNT_TYPE_ERROR(500112,"用户账号类型不匹配"),
    EMAIL_NONSTANDARD(500113,"邮箱格式错误!"),
    PHONE_NONSTANDARD(500114,"电话格式错误!"),
    DATA_NO_AUTH_ERROR(500115,"数据不在查询范围内"),
    LOGIN_PWD_EXPIRE(500116,"密码过期"),
    WORK_FLOW_SUBMIT_ERROR(500200,"流程提交错误"),
    WORK_FLOW_APPROVAL_ERROR(500201,"流程审核错误"),
    WORK_FLOW_REJECT_ERROR(500202,"流程退回错误"),
    WORK_FLOW_CANCEL_ERROR(500203,"流程取消错误"),
    WORK_FLOW_NO_EXIST(500204,"不存在流程历史记录"),
    EMAIL_CONFIG_ERROR(500300,"邮箱未配置"),
    JST_CONFIG_ERROR(500301,"即时通未配置"),
    JST_ACCOUNT_ERROR(500302,"即时账号错误"),
    SECRET_KEY_ERROR(500304,"密钥未配置错误"),
    DB_DEL_NODATA_ERROR(500401,"删除0条数据");
    /**
     * å¯†ç è¿‡æœŸ
     */
    LOGIN_PWD_EXPIRE(500116,"密码过期");
    private HttpStatus(int value, String msg) {
        this.value = value;
src/main/java/com/lf/server/interceptor/CrosFilter.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.lf.server.interceptor;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * è·¨åŸŸè¿‡æ»¤
 * @author www
 * @date 2022-09-27
 * @Component("CrosFilter")
 */
public class CrosFilter implements Filter {
    private static final String OPTIONS = "OPTIONS";
    @Override
    public void init(FilterConfig filterConfig) {
    }
    @Override
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) resp;
        HttpServletRequest request = (HttpServletRequest) req;
        if (OPTIONS.equalsIgnoreCase(request.getMethod())) {
            response.setHeader("Access-Control-Allow-Origin", "*");
            response.setHeader("Access-Control-Allow-Credentials", "true");
            response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS");
            response.setHeader("Access-Control-Max-Age", "86400");
            response.setHeader("Access-Control-Allow-Headers", "*");
            response.setStatus(HttpServletResponse.SC_OK);
        } else {
            chain.doFilter(req, resp);
        }
    }
    @Override
    public void destroy() {
    }
}