IDEA Swagger 配置
现在的项目大多数都是前后端分离,所以对于后端开发,我们需要一个接口工具帮我们进行接口的整理、也方便我们测试。推荐postMan和Swagger形式,然后postMan需要自己手写接口,然后参数需要手动粘贴,但是相比于它,Swagger就相对方便很多了,他会根据后台的代码,然后自动生成接口以及参数名。在pom.xml中引入相应的依赖jar包配置Swagger2配置文件@Configuratio...
·
现在的项目大多数都是前后端分离,所以对于后端开发,我们需要一个接口工具帮我们进行接口的整理、也方便我们测试。推荐postMan和Swagger形式,然后postMan需要自己手写接口,然后参数需要手动粘贴,但是相比于它,Swagger就相对方便很多了,他会根据后台的代码,然后自动生成接口以及参数名。
在pom.xml中引入相应的依赖jar包
<!-- Swagger相关依赖 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.20</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
配置Swagger2配置文件
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.ten.base.controller"))
.paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder().title("Springboot-api文档")
.description("").termsOfServiceUrl("")
.version("1.0").build();
}
注意:需要将下面红框中改成自己的的controller路径,否则swagger页面不显示;
package com.example.demowechat.config;
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.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @ClassName Swagger2
* @Description TODO
* @Author 张
* @Date 2019/07/2809:39
* Version 1.0
**/
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage
("com.example.demowechat.controller")//此出换为自己的controller路径
)
.paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder().title("Springboot-api文档")
.description("").termsOfServiceUrl("")
.version("1.0").build();
}
3.然后在相应接口加上Swagger注解
package com.example.demowechat.controller;
import com.example.demowechat.dataobject.ProductInfo;
import com.example.demowechat.service.ProductService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import java.util.Map;
/**
* @ClassName SellProductController 卖家端商品
* @Author 张
* @Date 2019/07/3020:53
* Version 1.0
**/
@Api(tags = {("卖家端商品列表")})
@Controller
@Slf4j
@RequestMapping("/seller/product")
public class SellProductController {
@Autowired
private ProductService productService;
/**
*卖家商品列表
* @param page
* @param size
* @param map
* @return
*/
@ApiOperation("卖家商品列表")
@GetMapping("/list")
public ModelAndView list (@RequestParam(value = "page" ,defaultValue = "1") Integer page ,
@RequestParam(value = "size", defaultValue = "10") Integer size ,
Map<String,Object> map){
PageRequest request = new PageRequest(page -1 ,size);
Page<ProductInfo> productInfoPage = productService.findAll(request);
map.put("productInfoPage",productInfoPage);
map.put("currentPage",page);
map.put("size", size);
return new ModelAndView("product/list" , map);
}
}
备注:
@Api :用在类上,说明该类的作用
@ApiOperation:用在方法上,说明方法的作用
@ApiModel:描述一个Model的信息
@ApiModelProperty:实体中参数信息
启动服务测试,在浏览器中输入“http://localhost:8080/swagger-ui.html”,然后我们就可以看到相应的界面了。
5.如果不想手动输入 地址,可以在idea进行配置一下,就可以自动弹出页面了。地址填写:http://127.0.0.1:8080/sell/swagger-ui.html#/
更多推荐
已为社区贡献1条内容
所有评论(0)