• Swagger示例


    对于项目完成后不用写文档,好处还是蛮大的

    不需要关注项目其他 只关注接口与实体类即可

    SpringBoot项目

    依赖

    
    
        io.springfox
        springfox-swagger2
        2.9.2
    
    
    
    
        io.springfox
        springfox-swagger2
        2.9.2
    

     

    启动类或者配置类添加开启Swagger注解

    对于SpringBoot版本2.6以上的  需要配置文件里加个配置 不然启动报错(设置个路径)

    SpringBoot版本2.6以上,需要在配置文件里假如  解决SpringBoot2.6.2使用Swagger的问题

    浏览器访问: http://ip:port/上下文/swagger-ui.html

    可以写个Swagger配置类

    1. @Configuration
    2. public class SwaggerConfig {
    3. //配置Swagger docket的bean实例
    4. @Bean
    5. public Docket docket(){
    6. //1.创建Docket对象
    7. Docket docket=new Docket(DocumentationType.SWAGGER_2);
    8. //2.创建API信息,接口文档总体描述
    9. /**
    10. * 使用指定的信息构造 ApiInfo 的实例。
    11. *
    12. * @param title API 的标题。
    13. * @param description API 的描述。
    14. * @param version API 的版本。
    15. * @param termsOfServiceUrl API 的服务条款 URL。
    16. * @param contact API 的联系信息。
    17. * @param license API 的许可证信息。
    18. * @param licenseUrl API 许可证的 URL。
    19. * @param vendorExtensions 要包含在 API 文档中的额外供应商扩展。
    20. */
    21. ApiInfo apiInfo=new ApiInfoBuilder()
    22. .title("图书馆管理系统 API")
    23. .version("1.0.0")
    24. .description("前后端分离项目,前端vue,后端SpringBoot+Dubbo分布式项目")
    25. .contact(new Contact("hrui", "www.hrui.com", "376084295@qq.com"))
    26. .license("Apache 2.0")
    27. .licenseUrl("http://www.opensource.org/licenses/mit-license.php")
    28. .build();
    29. //3.使用ApiInfo
    30. docket = docket.apiInfo(apiInfo);
    31. //4.设置参与文档生成的包
    32. docket=docket.select().apis(RequestHandlerSelectors.basePackage("com.example.controller")).build();
    33. return docket;
    34. }
    35. }

    下面介绍一款国人开发整合的    叫knife4j

    git地址

    swagger-bootstrap-ui-demo: knife4j 以及swagger-bootstrap-ui 集成框架示例项目

    用法   不注释掉也可以  两个可以一起使用

    看下新的页面效果

    访问http://ip:端口/上下文/doc.html

    两个可以一起使用   我这里没有配置上下文路径  访问路径分别为

    http://localhost:8080/swagger-ui.html

    http://localhost:8080/doc.html

    Swagger注解

    1. @Api:用于描述整个Controller API的信息,包括API的标题、描述等。

    2. @ApiOperation:用于描述单个接口,包括接口的HTTP方法、URL路径、接口的描述等。

    3. @ApiParam和@ApiImplicitParam和@ApiImplicitParams:用于描述接口中的参数信息。

    1. @ApiResponse:用于描述接口的响应信息,可以包括多个响应。

    2. @ApiResponses:用于包装多个@ApiResponse注解,可以用于一个接口有多个响应情况的情形。

    3. @ApiModel:用于描述一个DTO(数据传输对象)类。

    4. @ApiModelProperty:用于描述DTO类中的属性信息。

    5. @ApiIgnore:用于忽略某个类、方法或字段,不在Swagger文档中显示。@ApiIgnore


     查看效果

    后续都用这个国人改造的   感觉好看点

    paramType 是这些注解中一个重要的属性,表示参数的位置,常见取值有:

    • query: 参数在 URL 中,例如:http://example.com/resource?param1=value1¶m2=value2
    • path: 参数是 URL 的一部分,例如:/resource/{param}
    • header: 参数在请求头中。
    • body: 复杂对象参数通常放在请求体中,适用于 POST 或 PUT 请求。
    • form: 参数以表单的形式提交,通常用于 POST 请求。

  • 相关阅读:
    10:00面试,10:06就出来了,问的问题有点变态。。。
    Python爬虫入门指南
    什么是mvcc,mysql中的mvcc是怎么实现的
    MongoDB分布式文件存储系统
    自动化网络配置
    day56补
    人工智能与智能系统3-> 机器人学3 | 移动机器人平台
    addEventListener侦听事件并处理相应的函数
    Jenkins 发测试邮件报错 553 Mail from must equal authorized user
    【软考-中级】系统集成项目管理工程师 【19 项目收尾管理】
  • 原文地址:https://blog.csdn.net/tiantiantbtb/article/details/134462966