当前位置: 首页 > news >正文

论网站建设的重要性网站建设的ci设计指的是什么

论网站建设的重要性,网站建设的ci设计指的是什么,4a广告公司,昆明网站建设seo公司哪家好一、Swagger2介绍 前后端分离开发模式中,api文档是最好的沟通方式。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 及时性 (接口变更后,能够及时准确地通知相关前后端开发人员)规范性 (并且保…

一、Swagger2介绍

前后端分离开发模式中,api文档是最好的沟通方式。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

  1. 及时性 (接口变更后,能够及时准确地通知相关前后端开发人员)
  2. 规范性 (并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息)
  3. 一致性 (接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧)
  4. 可测性 (直接在接口文档上进行测试,以方便理解业务)

二、配置Swagger2

1、为swagger创建模块结构,到时候其他模块想要调用直接引入该模块就行

1.1 创建common模块

guli-parent下创建模块common

1.2、在common下面创建子模块service-base

2、导入依赖和配置类

2.1、在common的pom.xml引入依赖

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><scope>provided</scope></dependency><!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><scope>provided</scope></dependency><!--lombok用来简化实体类:需要安装lombok插件--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency><!--swagger--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><scope>provided</scope></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><scope>provided</scope></dependency><!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- spring2.X集成redis所需common-pool2<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.6.0</version></dependency>--></dependencies>

2.2、在模块service-base中,创建swagger的配置类

创建包com.atguigu.servicebase.config,创建类SwaggerConfig,基本不用怎么改。其中创建了一个bean,就是Docket对象,用于swagger的正常使用。

package com.atguigu.servicebase.config;import com.google.common.base.Predicates;
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.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration
@EnableSwagger2
public class SwaggerConfig {@Beanpublic Docket webApiConfig() {return new Docket(DocumentationType.SWAGGER_2).groupName("webApi").apiInfo(webApiInfo()).select().paths(Predicates.not(PathSelectors.regex("/admin/.*"))).paths(Predicates.not(PathSelectors.regex("/error.*"))).build();}private ApiInfo webApiInfo() {return new ApiInfoBuilder().title("网站-课程中心API文档").description("本文档描述了课程中心微服务接口定义").version("1.0").contact(new Contact("Helen", "http://atguigu.com","55317332@qq.com")).build();}
}

3、其他项目使用该包

开启组件扫描

要使用swagger直接引用service-base模块即可,但由于swagger里面有spring的组件注解,比如我们有模块,要引入swagger,它里面的启动类EduApplication启动后只会扫描标红的这六个文件下的代码,因此我们要能扫描到service-base模块

@ComponentScan参考博客

https://blog.csdn.net/zxyOVO/article/details/130720065?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22130720065%22%2C%22source%22%3A%22zxyOVO%22%7D

 因此要添加注解扫描到启动类上

@ComponentScan(basePackages = "com.atguigu")

将com.atguigu组下的包全部进行注解扫描,由于swagger.class在com.atguigu.service_base下,因此swagger的spring注解也能扫描到了。

开始使用

在要引入该模块的地方添加引用依赖,写在pom文件中

        <dependency><groupId>com.atguigu</groupId><artifactId>service_base</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

访问如下链接即可测试了api了

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

可选内容:定义接口说明和参数说明

定义在类上:@Api

定义在方法上:@ApiOperation

定义在参数上:@ApiParam

@Api(description="讲师管理")
@RestController
@RequestMapping("/admin/edu/teacher")
public class TeacherAdminController {@Autowiredprivate TeacherService teacherService;@ApiOperation(value = "所有讲师列表")@GetMappingpublic List<Teacher> list(){return teacherService.list(null);}@ApiOperation(value = "根据ID删除讲师")@DeleteMapping("{id}")public boolean removeById(@ApiParam(name = "id", value = "讲师ID", required = true)@PathVariable String id){return teacherService.removeById(id);}
}

定义在实体类的属性上:ApiModelProperty

定义在实体类上ApiModel

也就是实体类的都加model

@ApiModel(value = "Teacher查询对象", description = "讲师查询对象封装")
@Data
public class TeacherQuery implements Serializable {private static final long serialVersionUID = 1L;@ApiModelProperty(value = "教师名称,模糊查询")private String name;@ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")private Integer level;@ApiModelProperty(value = "查询开始时间", example = "2019-01-01 10:10:10")private String begin;//注意,这里使用的是String类型,前端传过来的数据无需进行类
型转换@ApiModelProperty(value = "查询结束时间", example = "2019-12-01 10:10:10")private String end;
}

http://www.yayakq.cn/news/609031/

相关文章:

  • 网站排名稳定后后期如何优化新网站如何做排在前面
  • 高考志愿网站开发网站建设免费制作
  • 两学一做微网站交流南昌网站建设公司资讯
  • 开通网站的会计科目怎么做怎么重新装电脑的wordpress
  • 四川信德建设有限公司网站克隆网站怎么导入wordpress
  • 专门做衣服的网站快速提高网站排名
  • 找考卷做要去哪个网站北京软件开发公司哪家专业
  • 贵州网站推广襄阳网站seo厂家
  • 智冠宝企业网站管理系统优秀网页设计网站
  • 差旅网站建设个人做外贸网站平台有哪些
  • 自己如何做电影网站微信开发公司怎么样
  • 一起做网店网站特点网店交易平台网站建设
  • 微信网站的结构环境工程公司宣传册设计样本
  • 乐清建网站wordpress主题标签
  • 汉中 网站建设wordpress 上传
  • 网站开发的未来展望工业和信息化部电信设备认证中心
  • 北京如何做网站广州番禺职业技术学院招生网
  • 做男鞋的网站正规网站优化推广
  • 太和县建设局网站游戏网站建设方案
  • 上海最专业的集团网站建设搜索优化推广公司
  • 除了做视频网站还能做什么网站专业关键词优化平台
  • 有没有代加工的网站网站建设项目可行性
  • 网站建设全南宁网站建设公司
  • 网站设计公司wordpress 3.9.2 中文
  • 玉溪建设局门户网站微网站设计尺寸
  • 自己做网站销售核酸结果查询
  • 青海制作网站多少钱什么是网站html静态化
  • 做网站的软件page做食品网站有哪些
  • 珠海网站建设公司有哪些制作自己的网页
  • 用来做区位分析的地图网站wordpress 用户组权限设置