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>
也可以参考线程的,比如一些开源项目或者大公司,如下
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 即可看到对应的接口定义,返回等