您的位置:首页 > 编程语言 > Java开发

Springboot整合Swagger的前后端分离项目

2020-02-02 00:25 471 查看

前后端分离接口 接口 接口
vue+Springboot
前端:前端控制层 视图层
伪造后端数据(json),已经存在了的数据,不需要后端,前端工程也可以跑起来
后端:后端控制台,服务层 数据访问层

前后端交互----API

分离好处:解耦 ,可部署在不同的服务器
缺点:前后端不能集成联调,问题得不到解决接口填入始终报错,前后端人员最终会引发矛盾。
如何避免:
1、制定计划,及时更新API,降低集成风险
2、笨方法:word文档
3、前端测试后端接口:postman,后端提供接口:实时更新
4、Swagger(推荐)
最流行的API文档,restful API 文档在线生成
直接运行
在线测试API接口
支持多种语言(java php等)
Swagger官网:https://swagger.io/

Springboot集成Swagger:
****一、**pom.xml导入依赖

io.springfox springfox-swagger-ui 2.9.2 io.springfox springfox-swagger2 2.9.2

二、配置SwaggerConfig
package com.youotech.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;

/**
*

  • swagger2使用说明:
    @Api:用在类上,说明该类的作用
    @ApiOperation:用在方法上,说明方法的作用
    @ApiImplicitParams:用在方法上包含一组参数说明
    @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
    paramType:参数放在哪个地方
    header–>请求参数的获取:@RequestHeader
    query–>请求参数的获取:@RequestParam
    path(用于restful接口)–>请求参数的获取:@PathVariable
    body(不常用)
    form(不常用)
    name:参数名
    dataType:参数类型
    required:参数是否必须传
    value:参数的意思
    defaultValue:参数的默认值
    @ApiResponses:用于表示一组响应
    @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
    code:数字,例如400
    message:信息,例如"请求参数没填好"
    response:抛出异常的类
    @ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
    @ApiModelProperty:描述一个model的属性

*/

@Configuration
@EnableSwagger2 //开启Docket2
public class SwaggerConfig {

//配置了swagger的Dpcket的bean
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(“com.youotech”))
.paths(PathSelectors.any())
.build();
}

private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("这是前后端交互API")
.description("这是前后端交互API")
.version("1.0")
.build();
}

}

  • 点赞
  • 收藏
  • 分享
  • 文章举报
IT之路深似海 发布了1 篇原创文章 · 获赞 0 · 访问量 7 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: