二,项目搭建之SpringBoot+Gradle+swagger2 3.0.0 + 常用注解

SpringBoot+Gradle+swagger2 3.0.0

  1. 首先要导入swagger2的依赖
implementation 'io.springfox:springfox-boot-starter:3.0.0'
  1. 然后在对swagger2进行配置,对于以前的版本,3.0配置并没有太大的改变只是改了ui的风格,下面贴出配置文件
@EnableOpenApi
@Configuration
public class Swagger2Config {
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("标题")
                .description("说明")
                .version("1.0")
                .build();
    }

    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo"))
                .paths(PathSelectors.any())
                .build()
                .securitySchemes(apiKeyList())
                .enable(true);
    }

    /**
     *授权
     * @return
     */
    private List<SecurityScheme> apiKeyList() {
        List<SecurityScheme> apiKeyList = new ArrayList<>();
        apiKeyList.add(new ApiKey("LOGIN", "Authorization", "header"));
        return apiKeyList;
    }
}

常用注解说明


@Api(tags = "用户模块")//用于Controller类
@RestController
@RequestMapping("/user")
public class User {

    //表示一个http请求的操作,authorizations =  @Authorization("LOGIN")是一个权限,swagger测试接口使用
    @ApiOperation(value = "插入用户", authorizations = @Authorization("LOGIN"))
    @PreAuthorize("hasAuthority('LOGIN')")//真正的权限
    @ApiImplicitParams({//包含多个字段说明
            @ApiImplicitParam(name = "userName", value = "账号"),//单个字段说明,必须和方法的字段一样
            @ApiImplicitParam(name = "passWoed", value = "密码")
    })
    @PostMapping("/insert")
    public String insertUser(String userName, String passWoed) {
        return "hello,world!";
    }


    @ApiModel(value = "用户")//用于实体类
    public class userModel {
        @ApiModelProperty(value = "账号")//用于实体类的说明
                String userName;
    }
}

到此配置就完成了

访问链接:http://localhost:8080/demo/swagger-ui.html
二,项目搭建之SpringBoot+Gradle+swagger2 3.0.0 + 常用注解_第1张图片

你可能感兴趣的:(java,后端,前端)