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

阿里巴巴国际站靠谱吗广州线上教学

阿里巴巴国际站靠谱吗,广州线上教学,旅游机票网站建设,查房价的官方网站提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1 .介绍2. 使用步骤完整的WebMvcConfiguration.java 3. 常用注解 前言 1 .介绍 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RE…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 1 .介绍
  • 2. 使用步骤
    • 完整的WebMvcConfiguration.java
  • 3. 常用注解


前言


1 .介绍

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/)。 它的主要作用是:

  1. 使得前后端分离开发更加方便,有利于团队协作

  2. 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担

  3. 功能测试

    Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!

目前,一般都使用knife4j框架。

2. 使用步骤

  1. 导入 knife4j 的maven坐标

    在pom.xml中添加依赖

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
  1. 在配置类中加入 knife4j 相关配置

WebMvcConfiguration.java

/*** 通过knife4j生成接口文档* @return
*/@Beanpublic Docket docket() {ApiInfo apiInfo = new ApiInfoBuilder().title("苍穹外卖项目接口文档").version("2.0").description("苍穹外卖项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage("com.sky.controller")).paths(PathSelectors.any()).build();return docket;}
  1. 设置静态资源映射,否则接口文档页面无法访问

WebMvcConfiguration.java

/*** 设置静态资源映射* @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}

完整的WebMvcConfiguration.java

package com.sky.config;import com.sky.interceptor.JwtTokenAdminInterceptor;
import com.sky.json.JacksonObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;import java.util.List;/*** 配置类,注册web层相关组件*/
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {@Autowiredprivate JwtTokenAdminInterceptor jwtTokenAdminInterceptor;/*** 注册自定义拦截器** @param registry*/protected void addInterceptors(InterceptorRegistry registry) {log.info("开始注册自定义拦截器...");registry.addInterceptor(jwtTokenAdminInterceptor).addPathPatterns("/admin/**").excludePathPatterns("/admin/employee/login");}/*** 通过knife4j生成接口文档* @return*/@Beanpublic Docket docket() {ApiInfo apiInfo = new ApiInfoBuilder().title("苍穹外卖项目接口文档").version("2.0").description("苍穹外卖项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage("com.sky.controller")).paths(PathSelectors.any()).build();return docket;}/*** 设置静态资源映射* @param registry*/protected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}/*** 扩展Spring MVC框架的消息转换器* @param converters*/protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {log.info("扩展消息转换器...");//创建一个消息转换器对象MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();//需要为消息转换器设置一个对象转换器,对象转换器可以将Java对象序列化为Json数据converter.setObjectMapper(new JacksonObjectMapper());//将自己的消息转换器加入到容器中converters.add(0,converter);}
}
  1. 访问测试

接口文档访问路径为 http://ip:port/doc.html —> http://localhost:8080/doc.html

3. 常用注解

通过注解可以控制生成的接口文档,使接口文档拥有更好的可读性,常用注解如下:

注解说明
@Api用在类上,例如Controller,表示对类的说明
@ApiModel用在类上,例如entity、DTO、VO
@ApiModelProperty用在属性上,描述属性信息
@ApiOperation用在方法上,例如Controller的方法,说明方法的用途、作用

接下来,使用上述注解,生成可读性更好的接口文档

http://www.15wanjia.com/news/54841.html

相关文章:

  • 响应式网站字体大小百度统计
  • 在哪家网站可以买做服装的模具重庆seo公司怎么样
  • 做网站的开发心得推广app赚钱
  • 大学生家教网站开发媒介平台
  • 企业展厅建设谷歌seo是什么职业
  • 华为公司网站建设分析评价广州seo网站推广平台
  • 太原网站建设谁家好代写文章哪里找写手
  • 新闻网站的设计与制作seo推广的公司
  • 园林公司网站模板郑州网站技术顾问
  • 全栈工程师是做网站吗学编程的正规学校
  • 深圳市网站建设制作设计品牌高报师培训机构排名
  • 做网站推广的工作好吗北京优化推广
  • 长沙网站推seo免费软件
  • 酷炫的网站欢迎页面马鞍山网站seo
  • 如何设置自己网站的关键词关键词排名关键词快速排名
  • 怎样做才能发布你的网站杭州搜索引擎优化公司
  • 网站的前端用什么语言申请百度账号注册
  • 视频运营管理网站网站流量统计分析工具
  • 广州南站在哪个区b站在线观看
  • 有空间有域名怎么做网站营销策划运营培训机构
  • 开启wordpress多站点成人职业技能培训班
  • pc端手机网站 样式没居中长沙企业seo优化
  • 创办网页网站seo百度百科
  • phpcms 做购物网站中国行业数据分析网
  • 沈阳网站开发网络营销出来可以干什么工作
  • 出租网站空间网站数据分析案例
  • 2018做技术分享网站有前景吗中央电视台新闻联播广告价格
  • 网站标题应该怎么做SEO优化网站seo搜索
  • 网站备案查询官网流氓网站
  • 网站建设开发合同模板网站seo好学吗