swagger+Knife4j学习

简介

Knife4j就是美化Swagger,更加好看。Swagger界面真欣赏不来。
这是Knife4j界面,是不是好看一些呢
在这里插入图片描述

快速开始

Knife4j已经默认集成了,springfox了,所以就不要再次引入了。
在这里插入图片描述
pom

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>2.0.9</version>
        </dependency>

配置类


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        //.title("swagger-bootstrap-ui-demo RESTful APIs")
                        .description("# swagger-bootstrap-ui-demo RESTful APIs")
                        .termsOfServiceUrl("http://www.xx.com/")
                        .contact("xx@qq.com")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("2.X版本")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.szh.quartzx.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

注意一点

				//这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.szh.quartzx.controller"))

要修改为自己的controller路径。快捷键Ctrl+Shift+Alt+C 复制。不修改,找不到你的controller,入门的人一般会没注意到

我的cottroller


@Api(tags = "首页模块")
@RestController
public class TestSwaggerController {

    @ApiImplicitParam(name = "name",value = "姓名",required = true)
    @ApiOperation(value = "向客人问好")
    @GetMapping("/sayHi")
    public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){
        return ResponseEntity.ok("Hi:"+name);
    }

    @ApiOperation("某某某接口")
    @GetMapping("/dddd")
    public VOResp test(DTOReqParam dtoReqParam){
        return new VOResp();
    }
}



@ApiModel("xxxxDTOReqParam")
public class DTOReqParam {

    @ApiModelProperty(value ="描述",example = "张三",required = true)
    private String name;
    @ApiModelProperty(value ="id集合")
    private List<Long> idList;
    @ApiModelProperty(value ="xxxxMap")
    private HashMap<String,String> map;
    }

@ApiModel("xxxxVO")
public class VOResp {

    @ApiModelProperty(value = "名称")
    private String name;
    }

注意一点
@ApiModelProperty(value = “名称”) 这个value是对字段的描述。而name是会重写字段名称。
官方解释

    /**
     * A brief description of this property.
     */
    String value() default "";

    /**
     * Allows overriding the name of the property.
     *
     * @return the overridden property name
     */
    String name() default "";

效果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值