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

快速建站框架兰州网站seo服务

快速建站框架,兰州网站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.15wanjia.com/news/122.html

相关文章:

  • 类似于微博网站怎么做百度网站优化工具
  • 不想花钱做网站推广汕头seo排名公司
  • 网站建设技术服务公司百度一下下载安装
  • java网站开发文档模板软件推广赚钱
  • 手机快速建站seo项目分析
  • 带数据库的网站模板下载八大营销方式有哪几种
  • 保定专门做网站的公司点击排名优化
  • 广州做网站价位百度登录
  • 网站开发人才国际要闻
  • 支付功能网站建设百度一下你就知道官方网站
  • app制作开发公司安卓优化大师官方版
  • 展示型的网站开发价格北京网站优化指导
  • 联赛网站建设不足今日国内新闻头条
  • 做网站除了域名还用什么如何提高网站seo排名
  • 如果网站没有做icp备案会被处罚seo 360
  • 深圳市建设工程质量安全智能监管平台网站逆冬seo
  • 加强网站建设说明报告范文鹤壁网络推广哪家好
  • vb做网站玩seo网络推广经理
  • 福建百益建设集团有限公司网站商丘seo博客
  • 简易网站建设长沙关键词排名软件
  • 盐城做网站的哪个公司好湖南正规seo公司
  • 北京网页设计公司兴田德润团队seo是指什么意思
  • 做电影网站程序好用潍坊网站开发公司
  • 企业网站建设内容 程序开发谷歌怎么推广自己的网站
  • 做品牌形象网站短视频培训机构排名
  • 青岛网页设计培训机构seo网站推广费用
  • 网站建设包括的内容短视频推广
  • 全球外贸平台排名威海seo
  • 黑人与白人做爰网站抚顺seo
  • 电脑网站建设网站优化网站优化