Spring Bootプロジェクト統合Swaggerインスタンスドキュメント


Swagger
Spring BootプロジェクトでのSwaggerドキュメントの使用
lombok注釈の紹介
lombok注記ドキュメント
プロジェクトインタフェースのプレビュー
Spring Boot 项目集成 Swagger 实例文档_第1张图片
リクエストアドレス
http://localhost:8080/swagger-ui.html#
Swagger依存の追加
        
            io.springfox
            springfox-swagger2
            2.9.2
        
        
            io.springfox
            springfox-swagger-ui
            2.9.2
        

 
ドキュメント情報の構成
  • Springfoxは、Swaggerの各プロパティを柔軟に構成できるDocketオブジェクトを提供します.
  • @ConfigurationはSpring Bootにこの構成クラスをロードする必要があることを伝える.
  • @EnableSwagger2はSwagger 2を有効にしていますが、入れていないと自然と後の検証効果が見えなくなります.
  • @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
        @Bean
        public Docket api() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .select()
                    .apis(RequestHandlerSelectors.any())
                    .paths(PathSelectors.any())
                    .build()
                    .apiInfo(apiInfo());
        }
        private ApiInfo apiInfo() {
            return new ApiInfo(
                    "Spring Boot      Swagger     ",
                    "      :https://blog.csdn.net/xiangwang2016,      。",
                    "API V1.0",
                    "Terms of service",
                    new Contact("    ", "https://blog.csdn.net/xiangwang2016", "[email protected]"),
                    "Apache", "http://www.apache.org/", Collections.emptyList());
        }
    
    }

     
    テストインタフェースの作成
    @Api(tags = "      ", description = "        Rest API")
    @RestController
    @RequestMapping("/user")
    public class UserController {
    
        @ApiOperation("      ")
        @PostMapping("/add")
        public boolean addUser(@RequestBody People p) {
            return false;
        }
    
        @ApiOperation("      ")
        @GetMapping("/find/{id}")
        public People findById(@PathVariable("id") int id) {
            return new People("jack","  ");
        }
    
        @ApiOperation("      ")
        @PutMapping("/update")
        public boolean update(@RequestBody People p) {
            return true;
        }
    
        @ApiOperation("      ")
        @DeleteMapping("/delete/{id}")
        public boolean delete(@PathVariable("id") int id) {
            return true;
        }
    }

     
    使用するBeanエンティティを新規作成
    lombok注記:@Data//getter setter、@NoArgsConstructor//パラメータなし、@AllArgsConstructor//パラメータあり
    @Data //getter setter
    @NoArgsConstructor //    
    @AllArgsConstructor  //    
    @ApiModel("    ")
    public class People implements Serializable {
        private static final long serialVersionUID = 1L;
        @ApiModelProperty(value = "  name")
        private String name;
        @ApiModelProperty(value = "   address")
        private String address;
    }

     
    クラスの開始
  • @EnableScheduling、@EnableCaching redisサポート
  • @SpringBootApplication
    @EnableScheduling
    @EnableCaching    // @EnableScheduling 、@EnableCaching   redis   
    public class DemospringbootApplication {
    
        public static void main(String[] args) { SpringApplication.run(DemospringbootApplication.class, args);
        }
    }

     
    PS
    Spring Boot redis構成