• 代码规范工具


    checkstyle:

    代码检查工具,使用时在pom中加入指定检查文件的路径

        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.17</version>
                    <executions>
                        <execution>
                            <id>verify</id>
                            <phase>verify</phase>
                            <configuration>
                                <configLocation>style/checkstyle.xml</configLocation>
                                <encoding>UTF-8</encoding>
                                <consoleOutput>true</consoleOutput>
                                <failsOnError>true</failsOnError>
                                <includeTestSourceDirectory>false</includeTestSourceDirectory>
                            </configuration>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
    
            <pluginManagement>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>3.0.0</version>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>

    定义自己需要的格式

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE module PUBLIC
        "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
        "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
    <module name="Checker">
        <property name="localeLanguage" value="en"/>
        <property name="charset" value="UTF-8"/>
        <property name="severity" value="warning"/>
        <property name="fileExtensions" value="java, properties, xml"/>
    
        <module name="FileTabCharacter">
            <property name="eachLine" value="true"/>
        </module>
    
        <module name="RegexpSingleline">
            <property name="format" value="//FIXME"/>
            <property name="message" value="Recommended fix FIXME task !"/>
        </module>
    
        <module name="RegexpSingleline">
            <property name="format" value="//TODO"/>
            <property name="message" value="Recommended fix TODO task !"/>
        </module>
    
    
        <module name="FileLength">
            <property name="max" value="3000"/>
        </module>
    
        <module name="TreeWalker">
    
            <module name="UnusedImports">
                <property name="processJavadoc" value="true"/>
            </module>
            <module name="RedundantImport"/>
    
            <module name="EqualsHashCode"/>
    
            <module name="SimplifyBooleanExpression"/>
            <module name="OneStatementPerLine"/>
            <module name="UnnecessaryParentheses"/>
            <module name="SimplifyBooleanReturn"/>
            <module name="DefaultComesLast"/>
            <module name="EmptyStatement"/>
            <module name="UpperEll"/>
            <module name="ConstantName">
                <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)|(^log$)"/>
            </module>
            <module name="LocalVariableName"/>
            <module name="LocalFinalVariableName"/>
            <module name="MemberName"/>
            <module name="ClassTypeParameterName">
                <property name="format" value="^[A-Z0-9]*$"/>
            </module>
            <module name="MethodTypeParameterName">
                <property name="format" value="^[A-Z0-9]*$"/>
            </module>
            <module name="PackageName"/>
            <module name="ParameterName"/>
            <module name="StaticVariableName"/>
            <module name="TypeName"/>
            <module name="AvoidStarImport"/>
    
            <module name="GenericWhitespace"/>
            <module name="WhitespaceAround">
                <property name="allowEmptyConstructors" value="true"/>
                <property name="allowEmptyMethods" value="true"/>
            </module>
            <module name="Indentation"/>
            <module name="MethodParamPad"/>
            <module name="ParenPad"/>
            <module name="TypecastParenPad"/>
        </module>
    </module>
    View Code

    也可以参考线程的,比如一些开源项目或者大公司,如下

    https://github.com/checkstyle/checkstyle/tree/60f41e3c16e6c94b0bf8c2e5e4b4accf4ad394ab/src/main/resources

    swaggerui

    加入依赖

    <!-- Swagger -->
    <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.0</version>
    </dependency>
    
    <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.0</version>
    </dependency>

    加入配置类

    @Configuration
    @EnableSwagger2
    public class Swagger2Config extends WebMvcConfigurationSupport {
        @Bean
        public Docket customDocket() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .groupName("group-me")
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.test"))
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo apiInfo() {
            Contact contact = new Contact("me", "", "me@111.com");
            ApiInfo apiInfo = new ApiInfoBuilder()
                    .title("文档")
                    .description("接口文档")
                    .contact(contact)
                    .version("1.0")
                    .build();
            return apiInfo;
        }
    
        @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/");
        }
    }

    按照规则在controller及对应的请求响应对象中加入标签,启动后自动识别

    参考

    https://www.cnblogs.com/fengli9998/p/7921601.html

    访问时在baseurl后面加 swagger-ui.html 即可看到对应的接口定义,返回等

  • 相关阅读:
    47种常见的浏览器兼容性问题大汇总
    201521123029《java程序设计》第2周学习总结
    201521123029《Java程序设计》第1周学习总结
    201521123022 《Java程序设计》 第一周学习总结
    201521123020《java程序设计》第1周学习总结
    Java程序设计第三周学习总结
    201521123021第二周Java学习总结
    201521123021《Java程序设计》第1周学习总结
    201521123017 《Java程序设计》第1周学习总结
    201521123028 《Java程序设计》第2周学习总结
  • 原文地址:https://www.cnblogs.com/it-worker365/p/10818277.html
Copyright © 2020-2023  润新知