Swagger

212 阅读1分钟

dependencies

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

Config

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("网站标题")
                .description("网站描述")
                .version("网站版本")
                .contact(new Contact("联系人姓名", "联系人链接", "联系人邮箱"))
                .license("许可")
                .licenseUrl("许可链接")
                .build();

        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.ahtcm.controller"))
                .paths(PathSelectors.regex("/api/.*"))
                .build();
    }
}

Entity

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel(value="test", description="实体类描述")
public class Test {
    @ApiModelProperty(value="主键值", name="主键名", required=true)
    private Long id;
}

Controller

@RestController
@Api(tags="Test控制器")
public class TestController {
    @GetMapping("/test")
    @ApiOperation(value="test路径",notes="get方法")
    @ApiImplicitParams(
            @ApiImplicitParam(name="参数名", value="参数描述", required = true, dataType="test")
    )
    public Test test(@RequestParam("param") String param) {
        return Test.builder()
                .id(1L)
                .build();
    }

    @ApiIgnore
    @PostMapping("/test")
    public String test() {
        return "world";
    }
}

访问

localhost:8080/swagger-ui.html