在项目中使用swagger

本文详细介绍如何在项目中集成并使用Swagger来管理和测试API接口。包括Swagger的安装配置、依赖引入、配置类编写、控制器层使用及UI文件引入等步骤。

在项目中使用swagger便于管理接口,方便测试

  1. 首先在web.xml中初始化载入
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>apidoc.root</param-value>
  </context-param>  
  1. 2在pom.xml导入相应的jar包
<dependency>
          <groupId>com.mangofactory</groupId>
          <artifactId>swagger-springmvc</artifactId>
          <version>0.9.5</version>
      </dependency>
  1. 3 在spring-swagger.xml文件中配置
 <bean class="com.baozun.common.MySwaggerConfig" />
对应的配置类:

@Configuration
@EnableWebMvc//如果没加这个会报错
@EnableSwagger//上面三个注释都是必要的,无添加便会出现莫名奇妙的错误
//@ComponentScan(basePackages="com.baozun.web")//添加这个注释,会自动扫描该类中的每一个方法自动生成api文档,就是controller层
public class MySwaggerConfig {
    private SpringSwaggerConfig springSwaggerConfig;


    @Autowired
    public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig)
    {
        this.springSwaggerConfig = springSwaggerConfig;
    }


    @Bean
    public SwaggerSpringMvcPlugin customImplementation()
    {
        return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo()).includePatterns(
                ".*?");
    }

    private ApiInfo apiInfo()
    {
        ApiInfo apiInfo = new ApiInfo(
                "ehr系统API接口管理",
                "各个controller下对应相应业务接口",
                "My Apps API terms of service",
                "任何问题可联系baozun.com",
                null,
                null);
        return apiInfo;
    }
}
  1. 4 在controller层使用swagger
@Controller
@RequestMapping("login")
@Api(description="登录模块", value = "注册版块")//添加注释
public class LoginController  {

 @ResponseBody
    @ApiOperation(value = "登录系统", httpMethod = "POST",response = ResponseMessage.class, notes = "logout")
    public ResponseMessage doLogin(  @ApiParam(value="用户账户和密码",name="TbUser")

}

6.最后是需要引入一系列swagger-ui的css文件和js文件,需要从git上下载,https://github.com/swagger-api/swagger-ui下载其中的src文件夹中的内容即可

具体的下载的文件如下
7.直接打开tomcat,访问apidoc.html就可以看到生成的接口文档,如果想进行 中文化,下载具体对应的js文件即可,

在 Go 1.17 中,你可以使用 embed 包将静态文件嵌入到可执行文件中,因此可以将 Swagger UI 嵌入到 Go Web 项目中,而不需要单独部署 Swagger UI。 以下是在 Goland 项目使用 Swagger 的步骤: 1. 安装 Swagger 相关依赖:在项目中添加 `github.com/swaggo/swag` 和 `github.com/swaggo/gin-swagger` 两个依赖库,可以使用以下命令: ``` go get -u github.com/swaggo/swag go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/gin-swagger/swaggerFiles ``` 2. 在项目中添加 Swagger 注释:在需要生成 Swagger 文档的接口上添加注释,例如: ``` // @Summary 获取用户信息 // @Description 根据用户ID获取用户信息 // @Tags 用户管理 // @Produce json // @Param id path int true "用户ID" // @Success 200 {object} UserResponse // @Failure 400 {string} string "请求参数错误" // @Router /users/{id} [get] func GetUserByID(c *gin.Context) { // ... } ``` 3. 生成 Swagger 文档:在项目根目录下执行以下命令,生成 Swagger 文档: ``` swag init ``` 该命令会在项目中生成一个 `docs` 目录,其中包含了 Swagger 文档的 JSON 文件和 HTML 文件。 4. 在项目中嵌入 Swagger UI:在项目中添加一个 `swagger` 目录,并将 Swagger UI 的静态文件拷贝到该目录中。可以从 Swagger 官网(https://swagger.io/tools/swagger-ui/)下载最新的 Swagger UI 版本。 ``` ├── main.go ├── go.mod ├── go.sum ├── docs │ ├── docs.go │ ├── swagger.json │ └── swagger.yaml └── swagger ├── index.html ├── swagger-ui-standalone-preset.js ├── swagger-ui-standalone-preset.js.map ├── swagger-ui.css ├── swagger-ui.css.map ├── swagger-ui.js ├── swagger-ui.js.map └── swagger-ui.min.js ``` 5. 在项目中添加 Swagger UI 的路由:在项目中添加一个路由,将 Swagger UI 的 HTML 文件和静态文件提供给用户访问,例如: ``` router.GET("/swagger/*any", gin.WrapH(http.FileServer(http.Dir("./swagger")))) ``` 这样,用户可以通过访问 `/swagger/index.html` 来查看 Swagger 文档。 6. 启动项目并访问 Swagger UI:在 Goland 中启动项目,然后在浏览器中访问 `http://localhost:8080/swagger/index.html`,即可访问 Swagger UI 并查看文档。 需要注意的是,这种方式虽然可以将 Swagger UI 嵌入到可执行文件中,但是每次修改 Swagger UI 后都需要重新编译可执行文件,因此不建议在生产环境中使用。如果你需要在生产环境中使用 Swagger UI,建议单独部署一个 Swagger UI 服务。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值