Swagger生成API文档

一、swagger介绍

使用springMVC集成swagger-ui生成 Restful风格的API文档,可以省略手动编写接口文档的过程,也解决了接口变化需要维护接口文档的过程。

swagger-ui还可以测试spring restful风格的接口功能。

官方网站为:http://swagger.io/ 


二、Swagger与Spring MVC集成步骤

1.Maven的配置

        <dependency>
            <groupId>com.mangofactory</groupId>
            <artifactId>swagger-springmvc</artifactId>
            <version>1.0.2</version>
        </dependency>

2. 复制swagger的相关js等静态资源到webapp目录


三、常见swagger注解与使用

Swagger注解使用网址: http://docs.swagger.io/swagger-core/apidocs/

@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiModelProperty:用对象接收参数时,描述对象的一个字段


四. 使用描述及效果展示:

@RestController
@Api(value = "User API", description = "会员相关操作")
public class UserController {
    @Autowired
    private UserService userService;

    @Login
    @RequestMapping(value = "/user/login", method = RequestMethod.POST)
    @ApiOperation(httpMethod = "POST", notes = "登录接口", value="登录接口")
    public ResponseEntity<Object> login(@ApiParam(value="登录信息", name="loginParam", required=true)  @RequestBody LoginParam loginParam) {
        Result<UserVO> result = userService.login(loginParam.getEmail(), loginParam.getPassword());
        if (null != result && result.getStatus() == StatusCodes.OK) {// 登录成功
                    WebRuntimeContextHolder.getRuntimeContext().setUser((UserVO) result.getItems());
            return ResponseBuilder.instance().body(null).build();
        } else {
            return ResponseBuilder.instance().body(result).build();
        }
    }



@ApiModel
public class Entity implements java.io.Serializable{

private static final long serialVersionUID = -473540900271240716L;

private Long id;
@ApiModelProperty(required=true)
private Integer logicalDel;
@ApiModelProperty(required=true)
private Date createTime;
@ApiModelProperty(required=true)
private Date updateTime;



### 使用Swagger生成API文档的方法 #### 对于Go语言项目使用go-swagger工具 选择`go-swagger`作为生成Swagger文档的工具,主要因为其能够通过解析代码中的注释来自动构建详细的API描述文件[^1]。这种方式不仅减少了手动维护文档的工作量,还提高了文档与实际实现的一致性。 为了利用`go-swagger`创建API文档,在源码中适当位置添加特定格式的注释即可: ```go // Package main is the entry point of our application. package main import "net/http" // ServeHTTP responds to HTTP requests with a simple message. // swagger:route GET /hello helloWorld // // Say Hello World. // // Responses: // 200: okResponse func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello world")) } ``` 接着可以通过命令行运行如下指令来自动生成对应的JSON或YAML格式的Swagger定义文件: ```bash swag init -g ./main.go --output ./docs/swagger.json ``` 此过程会扫描指定包内的所有Go文件并提取其中符合Swagger规范的注释信息用于组装最终输出的文档结构。 #### 针对Java/Spring Boot应用集成SpringFox-Swagger库 对于采用Spring框架的应用程序来说,则更倾向于借助第三方库如SpringFox来简化这一流程[^2]。具体操作涉及修改项目的Maven配置文件(`pom.xml`)以加入必要的依赖项以及激活相应的功能开关: 在`pom.xml`内追加以下片段完成依赖声明: ```xml <dependencies> <!--swagger相关依赖配置--> <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> </dependencies> ``` 随后需确保应用程序的主要启动类上标注了`@EnableSwagger2`以便启用Swagger特性支持: ```java @SpringBootApplication @EnableSwagger2 // 开启Swagger能力 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 上述设置完成后,随着服务端口开放访问,默认情况下就能直接浏览到由Swagger UI渲染出来的交互式API帮助页了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值