2020-8-5 swagger的简单使用

什么是swagger?

swagger简单来说是一个动态生成接口文档的接口。

怎么使用swagger?

第一步:pom中引入依赖

第二步:创建swagger配置类

第三步:加注解描述数据

项目运行后访问http://localhost:8080/swagger-ui.html就可以看到动态生成的接口文档

    
    
      io.springfox
      springfox-swagger2
      2.9.2
    

    
      io.springfox
      springfox-bean-validators
      2.9.2
    

package com.fh.common;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/*swagger配置类*/
@Configuration
@EnableSwagger2
public class SpringFoxConfig {
    @Bean
    public Docket apiDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                //创建一个构建器,用于定义哪些控制器及其生成的文档中应包含哪些方法。
                .select()
                //定义要包含的类(控制器和模型类)。这里我们包括所有这些,但您可以通过基础包,类注释等来限制它们
                .apis(RequestHandlerSelectors.basePackage("com.fh.controller"))
                //允许您根据路径映射定义应包含哪个控制器的方法。我们现在包括所有这些,但您可以使用正则表达式等限制它
                .paths(PathSelectors.ant("/Add*/find*"))
                .build();
    }

}

@Controller
@Api(description = "地址管理")
@RequestMapping("AddController")
public class AddController {
/*通过Id查询收货地址*/
    @PostMapping("findOne")
    @ResponseBody
    @ApiOperation("通过Id查询收货地址,500查询失败")
    public JsonData findOne(@ApiParam("收货地址Id")@PathVariable Integer addId){
        try {
            //从token取出用户数据
            String token = request.getParameter("token");
            Buyer buyer = JWT.unsign(token,Buyer.class);
            //Redis中没有
            if(!RedisPool.hexists("add_"+buyer.getBuyerId(),"add_"+addId)){
                //从数据库查
                Address address = addService.findOne(addId);
                //保存到Redis
                RedisPool.hset("add_"+buyer.getBuyerId(),"add_"+addId,JSONObject.toJSONString(address));
            }
            //从Redis查
            String add = RedisPool.hget("add_" + buyer.getBuyerId(), "add_" + addId);
            return JsonData.isSuccess(add);
        }catch (Exception e){
            e.printStackTrace();
            return JsonData.isFailure(500,"通过Id查询收货地址失败"+e.getMessage());
        }
    }
}

 

你可能感兴趣的:(Web应用程序)