java ssm api接口,Java SSM添加Swagger接口文档

1.需要的Jar包依赖

io.springfox

springfox-swagger2

2.7.0

io.springfox

springfox-swagger-ui

2.7.0

org.springframework

spring-web

4.3.14.RELEASE

2.Swagger配置类import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.test.context.web.WebAppConfiguration;

import org.springframework.web.servlet.config.annotation.EnableWebMvc;

import springfox.documentation.builders.ApiInfoBuilder;

import springfox.documentation.builders.ParameterBuilder;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.schema.ModelRef;

import springfox.documentation.service.ApiInfo;

import springfox.documentation.service.Parameter;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;

import java.util.List;

//@Configuration

@WebAppConfiguration

@EnableSwagger2//重要!

@EnableWebMvc

@ComponentScan(basePackages = "com.xx.controller")//扫描control所在的package请修改为你control所在package

public class SwaggerConfig {

@Bean

public Docket api() {

//添加头部开始!这里是添加请求头信息,可以不加这段代码

ParameterBuilder ticketPar = new ParameterBuilder();

List pars = new ArrayList();

ticketPar.name("Authorization").description("token")

.modelRef(new ModelRef("string")).parameterType("header")

.required(false).build(); //header中的Authorization参数非必填,传空也可以

pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数

//添加头部结束,这里是添加请求头信息,可以不加这段代码

return new Docket(DocumentationType.SWAGGER_2)

.select()

.apis(RequestHandlerSelectors.any())

.build().globalOperationParameters(pars)

.apiInfo(apiInfo());

}

private ApiInfo apiInfo() {

return new ApiInfoBuilder()

.title("xx项目接口文档")

.description("xx项目接口测试")

.version("1.0.0")

.termsOfServiceUrl("")

.license("")

.licenseUrl("")

.build();

}

}

/*重要!如果你的项目引入junit测试,此处需要使用@WebAppConfiguration,如果没有使用junit使用@Configuration*/

在SpringMVC配置文件中引入你的Swagger配置

3.操作使用方法

在你的controller层的类上@Api(value="xx",description="xx")

在controller层具体的方法上加 @ApiOperation(value = "xx",httpMethod = "POST",notes = "随意填写",response = 你的类名.class)

操作示例:import io.swagger.annotations.Api;

import io.swagger.annotations.ApiOperation;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PostMapping;

/**

* @Author: www.itwps.com

* @Date: 2020/7/23 10:32

* @Email: 814565718@qq.com

*/

@Controller

@Api(value = "xx",description = "某某功能接口")

public class TestController {

@ApiOperation(value = "xx",httpMethod = "POST",notes = "随意填写",response = TestController.class)

@PostMapping("/")

public void M(){

}

}

如果不想某个方法或者某个controller类显示在接口文档里,在该方法或者该类上面添加注解:@ApiIgnore即可

添加好之后访问路径格式:http://ip:port/项目名/swagger-ui.html 示例:http://127.0.0.1:8080/TestXiangMu/swagger-ui.html

遇到的问题:

如果你的项目开了interceptor拦截器,则需要在SpringMVC中配置不拦截Swagger

注意:这里如果加了排除拦截,标题2中在SpringMVC中添加Swagger配置中的配置Swagger下的两行代码可以不加,加了也不会影响。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值