
一般不存在前端给后端接口的情况,几乎都是后端给前端接口,所谓接口就是可以通过服务端部署的机器提供出来的URL地址进行动态的数据交互。通常的工作流是后端跟前端协商定义数据接口格式(一般就是JSON格式)形成文档,后端实现接口,前端做静态的mock(可以是直接在页面的JS拼假数据或者通过JSON server按照真实调用服务的方式集成),后端实现服务接口,两边都完成后集成联调。现在有swagger 或者 apiairy 等工具可以更简化这个过程
1Springboot整合Swagger2
11pom加swagger依赖
<dependency>
<groupId>iospringfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>292</version>
</dependency>
<!-- <dependency>
iospringfox
springfox-swagger-ui
292
-->
<dependency>
<groupId>comgithubxiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>190</version>
</dependency>
<dependency>
<groupId>ioswaggercorev3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>208</version>
</dependency>
<dependency>
<groupId>ioswaggercorev3</groupId>
<artifactId>swagger-models</artifactId>
<version>208</version>
</dependency>
12添加swagger配置类
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
//@ConditionalOnExpression("${swaggerenable:true}")
public class Swagger2 {
// @Override
// public voidaddResourceHandlers(ResourceHandlerRegistry registry) {
// registryaddResourceHandler("swagger-uihtml")addResourceLocations("classpath:/META-INF/resources/");
// registryaddResourceHandler("/webjars")addResourceLocations("classpath:/META-INF/resources/webjars/");
// }
@Value("${swaggerenable:true}")
private String enable;
@Value("${swaggerbasePackage}")
private String basePackage;
@Bean
public Docket createRestApi()
{
Predicateselector= PathSelectors none ();
if ("true"equals(enable)) {
selector=PathSelectors any ();
}
//定义全局参数
Listpars = new ArrayList<>();
ParameterBuildertoken = new ParameterBuilder();
tokenname("token")description("token")modelRef( new ModelRef("string"))parameterType("header")required( false )build();
parsadd(tokenbuild());
return new Docket(DocumentationType SWAGGER_2 )
globalOperationParameters(pars) // 全局参数
groupName("demo01")//指定分组
apiInfo(apiInfo())
select()
apis(RequestHandlerSelectors basePackage (basePackage))
// paths(PathSelectorsany())
paths(selector)
build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
title("SpringBoot测试使用 Swagger2 构建RESTful API")
description("springboot demo 接口文档")
version("10")
build();
}
}
13加上swagger启用禁用开关
新建applicationproperties文件
#swagger启用禁用标识true:启用
swaggerenable=true
#swagger扫描需生成文档的包路径
swaggerbasePackage=comtjcspringbootDemocontroller
14Swagger具体注释用法
>
Swagger是基于REST APIs 定义一个标准的与语言无关的接口。通过查看这些接口了解到该请求的参数和返回结果。Swagger还提供了Web 界面Swagger UI,可以通过SwaggerUI进行测试接口。
springfox-swagger2 :Spring 集成Swagger 开箱即用的相关配置包
springfox-swagger-ui : web界面的包
swagger-springmvc :Swagger 使用的注解和相关Spring MVC 的配置
这里我们需要注意一下@EnableSwagger2,我们可以通过查看这个注解可以知道是使用Swagger2DocumentationConfiguration配置类来进行配置,而Swagger2DocumentationConfiguration集成了Spring MVC的配置,因为springfox-swagger-ui是一个web,需要进行swagger-uihtml的映射配置。如果我们使用了 @EnableSwagger2的时候我们就不需要使用@EnableWebMvc注解,如果2个同时使用的情况下会导致springfox-swagger-ui的/swagger-uihtml界面不可以访问。
@ApiModel :请求或者响应的Model
@ApiModelProperty :Model的属性
@ApiOperation:可以请求的方法
其他注解自己慢慢尝试。
请求访问的地址:>
通过设立文档编写。Swagger是API文档、API调试、APIMock、API自动化测试一体化协作平台,想要编写Jsonnode就需通过API文档。
1、首先打开Swagger。
2、然后找到新建选项。
3、在里面找到新建文档。
4、在文档中编译对应的程序即可。
一份好的接口文档能够让接口调用者很清晰的知道如何调用一个API接口,包括请求方式、传参规范、接口返回信息等;也能帮助团队新人快速了解业务。
传统的做法是由开发人员维护一个API接口文档,一般是一个word文档或一个提供接口文档管理的网站。这种做法有很多弊端:文档难以维护、浪费开人员时间、文档难以与接口保持一致等。
Swagger2的出现很好的解决了上述问题,可以实现接口文档实时在线生成,提供在线接口测试功能。唯一的弊端就是对接口程序有侵入,但本人认为还是利大于弊的。
接下来我们将Swagger2整合到springboot项目中,并用swagger-bootstrap-ui对Swagger2进行界面美化,废话不多说,我们开始。。。
在pomxml中导入
在applicationyml中设置swagger2是否开启的开关,关闭后接口文档被关闭,在生产环境部署时就需要关闭接口文档。
1创建注解SwaggerCustomIgnorejava,主要用于忽略某些不想生成接口文档的接口。
2创建配置类SpringfoxSwagger2Configjava,配置Swagger接口文档生成规则和过滤规则。
3拦截器排除swagger相关资源,新建或修改WebConfigjava文件,内容如下。
1编写内容参考如下
2注解说明
启动项目,浏览器输入>
@Api:用在类上,说明类的作用
tags:“标签,可以在UI界面上看到的注解”
value:url的路径值,在类上使用的路由,如果类上没有配置,此注解无效
position:如果配置多个Api 想改变显示的顺序位置
protocols:协议
hidden:配置为true 将在文档中隐藏
produces:返回的文件的MIME类型,例如application/json,application/xml
consumes:需要的文件的MIME类型,
authorizations:认证
@ApiSort:排序
value:int值
@ApiOperation:用在方法上,用来给API增加方法说明。
value=“说明方法的用途、作用”
notes=“方法的备注说明”
tags:如果设置这个值、value的值会被覆盖
description:对api资源的描述
basePath
position
protocols
hidden
response:返回的对象,例如(Beanclass)
responseContainer:返回的内容,有效的 “List”, “Set” or “Map”,其他无效
>
在项目开发过程中出现了swagger-bootstrap-ui 页面提示"请确保swagger资源接口正确",效果如下:
将example中的Json结构梳理正确,并在后续Swagger2相关参数的编写时,注意检查"{"、"["等有对Json结构产生干扰的字符串,或者不用。
以上就是关于前端通过接口提速了后端数据,怎么让这些数据变成json格式呢全部的内容,包括:前端通过接口提速了后端数据,怎么让这些数据变成json格式呢、springboot,springmvc整合swagger、Spring cloud 集成Swagger等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)