swagger使用

1、swagger是API工具,Swagger的目的是支撑整个API生命周期的开发,包括设计、文档以及测试和部署

2、swagger所需依赖:
<!– sring mvc依赖 –>
<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>4.2.8.RELEASE</version>
</dependency>

<!– swagger2核心依赖 –>
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger2</artifactId>
   <version>2.6.1</version>
</dependency>

<!– swagger-ui为项目提供api展示及测试的界面 –>
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger-ui</artifactId>
   <version>2.6.1</version>
</dependency>

3、基本信息配置:--config目录下
/**
 * 基于Swagger生成API文档
 * @author: lijuan
 * @date: 2018/5/17
 */
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
    
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.gaoenergy.emos.mov.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("[EMOS 电力市场运行容器]")
                .description("[为交易云平台提供【交易市场运行环境】、【交易市场任务调度】【指令应答库】等功能。]")
                .version("1.0.0-RELEASE")
                .build();
    }
}

基础的配置是对整个API文档的描述以及一些全局性的配置,对所有接口起作用。这里涉及到两个注解:

  @Configuration是表示这是一个配置类,是JDK自带的注解,前面的文章中也已做过说明。

  @EnableSwagger2的作用是启用Swagger2相关功能。

4、编写生成API文档的接口:
   @RestController
   @RequestMapping("/user")
   public class UserController {

    @Autowired
    UserService userService;

    @PostMapping("/findOne")
        @ApiOperation(value="查询单个用户",notes="根据id查询单个用户信息")
        @ApiImplicitParam(name="userId",value="userId",required=true,paramType="query")
        public ObjectRestResponse<User> findOne(@RequestParam Integer userId){
            ObjectRestResponse<User> result = new ObjectRestResponse<User>();
            User user = userService.selectById(userId);
            result.data(user);
        return result;
        }
   }

5、启动项目,访问路径:http://localhost:8010/swagger-ui.html

swagger是一款很好用的API工具,能够自动帮我们生成文档确实为我们节省了不少工作,对后续的维护也提供了很大的帮助,Swagger还能根据配置自动为我们生成测试的数据,并且提供对应的HTTP方法,这对我们的自测和联调工作也有不少的帮助

swagger常用注解以及相关属性说明:

@ApiOperation,整个接口属性配置:

    value:接口说明,展示在接口列表。

    notes:接口详细说明,展示在接口的详情页。

    tags:接口的标签,相同标签的接口会在一个标签页下展示。

    httpMethod:支持的HTTP的方法。

  @ApiImplicitParams,@ApiImplicitParam的容器,可包含多个@ApiImplicitParam注解

  @ApiImplicitParam,请求参数属性配置:

    name:参数名称

    value:参数说明

    required:是否必须

    dataType:数据类型  

  @ApiResponses,@ApiResponse容器,可以包含多个@ApiResponse注解

  @ApiResponse,返回结果属性配置:

    code:返回结果的编码。

    message:返回结果的说明。

    response:返回结果对应的类。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swagger是一个用于设计、构建和文档化RESTful Web服务的开源工具集。下面是一个简单的Swagger使用教程: 1. 安装Swagger:可以通过npm、pip等包管理工具安装Swagger相关的库和工具。例如,对于Node.js项目,可以使用以下命令安装swagger-jsdoc和swagger-ui-express: ```bash npm install swagger-jsdoc swagger-ui-express ``` 2. 编写Swagger注解:在你的API代码中,使用Swagger注解来描述API的信息、请求和响应参数等。以下是一个示例: ```javascript /** * @swagger * /api/users: * get: * summary: 获取所有用户 * description: 获取所有用户列表 * responses: * 200: * description: 成功获取用户列表 * schema: * type: array * items: * $ref: '#/definitions/User' */ ``` 在这个示例中,我们使用Swagger注解来描述一个GET请求,它可以获取所有用户的列表。 3. 生成Swagger文档:使用Swagger注解编写完API代码后,可以使用相应的工具将这些注解转换为Swagger文档。例如,对于Node.js项目,我们可以使用swagger-jsdoc库生成Swagger文档。在项目的入口文件中添加以下代码: ```javascript const swaggerJSDoc = require('swagger-jsdoc'); const swaggerUi = require('swagger-ui-express'); const options = { definition: { openapi: '3.0.0', info: { title: 'API文档', version: '1.0.0', }, }, apis: ['./path/to/api/controllers/*.js'], // API代码文件的路径 }; const swaggerSpec = swaggerJSDoc(options); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec)); ``` 这段代码将会在`/api-docs`路径下提供Swagger文档。 4. 查看Swagger文档:运行项目并访问`/api-docs`路径,你将会看到生成的Swagger文档。Swagger提供了一个交互式的UI界面,可以方便地查看API的信息、请求和响应参数等。 这只是一个简单的Swagger使用教程,你可以根据自己的项目需求进一步深入学习和使用Swagger

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值