前端通过接口提速了后端数据,怎么让这些数据变成json格式呢

前端通过接口提速了后端数据,怎么让这些数据变成json格式呢,第1张

一般不存在前端给后端接口的情况,几乎都是后端给前端接口,所谓接口就是可以通过服务端部署的机器提供出来的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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9667261.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存