当前位置: 首页 > news >正文

天峻县公司网站建设怎么在网上注册自己的网站

天峻县公司网站建设,怎么在网上注册自己的网站,温州网站优化排名,南和网站建设公司太原网站建设原创作者:田超凡(程序员田宝宝) 版权所有,引用请注明原作者,严禁复制转载 Part 1 理论部分 1 传统API接口文档存在的问题? 1 对API接口文档进行更新的时候,需要及时将变化通知前端开发人员&…

原创作者:田超凡(程序员田宝宝)

版权所有,引用请注明原作者,严禁复制转载

Part 1 理论部分

1 传统API接口文档存在的问题?

1 对API接口文档进行更新的时候,需要及时将变化通知前端开发人员,否则API接口文档的更新可能会因为通知不及时导致联调时出现问题。

2 API接口返回的响应信息描述不够清晰明确。

3 缺乏在线API接口测试的功能,通常需要使用第三方的API接口测试工具,比如Postman,SoapUI等。

4 API接口文档太多,不利于统一管理。

5 大公司肯定会有专门的API接口文档服务器来对API接口文档进行更新和维护,但是对于一些中小型公司而言,单独搭建API接口文档服务器的成本太高。

2 什么是Swagger?

为了解决传统API接口文档维护的问题,方便测试后台Restful接口并实现动态的API接口文档更新,因此引入Swagger作为API接口文档可视化管理工具。

3 Swagger的优点有哪些?

1 功能丰富:支持多种注解,自动生成接口文档界面,支持在界面上测试API接口的功能。

2 及时更新:在开发工程中只需要花一点写注释的时间,就可以及时更新API接口文档,省时省力。

3 整合简单:通过添加pom依赖和简单配置,内嵌于应用中就可随应用发布的时候同时发布API接口文档管理界面,不需要部署单独的服务。

Part 2 实践部分

Swagger API接口管理

随着微服务架构体系的发展和应用, 为了前后端能够更好的集成与对接,同时为了项目的方便交付,每个项目都需要提供相应的API文档。

来源:PC端、微信端、H5端、移动端(安卓和IOS端)

Swagger 2.0 集成配置

Maven依赖信息

<parent>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-parent</artifactId>

           <version>2.0.1.RELEASE</version>

     </parent>

     <!-- 管理依赖 -->

     <dependencyManagement>

           <dependencies>

                <dependency>

                     <groupId>org.springframework.cloud</groupId>

                     <artifactId>spring-cloud-dependencies</artifactId>

                     <version>Finchley.M7</version>

                     <type>pom</type>

                     <scope>import</scope>

                </dependency>

           </dependencies>

     </dependencyManagement>

     <dependencies>

           <!-- SpringBoot整合Web组件 -->

           <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-web</artifactId>

           </dependency>

           <!-- SpringBoot整合eureka客户端 -->

           <dependency>

                <groupId>org.springframework.cloud</groupId>

                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

           </dependency>

           <!-- swagger2 -->

           <dependency>

                <groupId>io.springfox</groupId>

                <artifactId>springfox-swagger2</artifactId>

                <version>2.8.0</version>

           </dependency>

           <dependency>

                <groupId>io.springfox</groupId>

                <artifactId>springfox-swagger-ui</artifactId>

                <version>2.8.0</version>

           </dependency>

     </dependencies>

     <!-- 注意: 这里必须要添加, 否者各种依赖有问题 -->

     <repositories>

           <repository>

                <id>spring-milestones</id>

                <name>Spring Milestones</name>

                <url>https://repo.spring.io/libs-milestone</url>

                <snapshots>

                     <enabled>false</enabled>

                </snapshots>

           </repository>

     </repositories>

SwaggerConfig

@Configuration

@EnableSwagger2

public class SwaggerConfig {

     @Bean

     public Docket createRestApi() {

           return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()

                     // api扫包

                     .apis(RequestHandlerSelectors.basePackage("com.ittcf.api")).paths(PathSelectors.any()).build();

     }

     private ApiInfo apiInfo() {

           return new ApiInfoBuilder().title("")

                     .termsOfServiceUrl("http://www.ittcf.com")

                     // .contact(contact)

                     .version("1.0").build();

     }

}

访问地址:http://localhost:8060/swagger-ui.html#/swagger-controller

Zuul整合Swagger管理微服务所有API

用户和订单引入Maven依赖

      <!-- swagger-spring-boot -->

      <dependency>

          <groupId>com.spring4all</groupId>

          <artifactId>swagger-spring-boot-starter</artifactId>

          <version>1.7.0.RELEASE</version>

      </dependency>

application.yml配置

Api接口扫描范围

swagger:

  base-package: com.ittcf.api

项目启动引入开启生成文档

@EnableSwagger2Doc

ZuulGateway网关

@SpringBootApplication

@EnableEurekaClient

@EnableZuulProxy

@EnableSwagger2Doc

public class AppGateWay {

    // @EnableZuulProxy 开启网关代理

    public static void main(String[] args) {

       SpringApplication.run(AppGateWay.class, args);

    }

    // zuul配置能够使用config实现实时更新

    @RefreshScope

    @ConfigurationProperties("zuul")

    public ZuulProperties zuulProperties() {

       return new ZuulProperties();

    }

    // 添加文档来源

    @Component

    @Primary

    class DocumentationConfig implements SwaggerResourcesProvider {

       @Override

       public List<SwaggerResource> get() {

           List resources = new ArrayList<>();

           // app-ittcf-order

           resources.add(swaggerResource("app-ittcf-member", "/api-member/v2/api-docs", "2.0"));

           resources.add(swaggerResource("app-ittcf-order", "/api-order/v2/api-docs", "2.0"));

           return resources;

       }

       private SwaggerResource swaggerResource(String name, String location, String version) {

           SwaggerResource swaggerResource = new SwaggerResource();

           swaggerResource.setName(name);

           swaggerResource.setLocation(location);

           swaggerResource.setSwaggerVersion(version);

           return swaggerResource;

       }

    }

}

Maven依赖信息

        <dependency>

             <groupId>com.spring4all</groupId>

             <artifactId>swagger-spring-boot-starter</artifactId>

             <version>1.7.0.RELEASE</version>

        </dependency>

Actuator端点刷新数据

Maven依赖信息

<!-- actuator监控中心 -->

                            <dependency>

                                          <groupId>org.springframework.boot</groupId>

                                          <artifactId>spring-boot-starter-actuator</artifactId>

                            </dependency>

bootstrap.yml新增

开启监控断点

management:

  endpoints:

    web:

      exposure:

        include: "*"

生效前提

在需要刷新的Bean上添加@RefreshScope注解。

@RestController

// @SpringBootApplication

@RefreshScope

public class ConfigClientController {

http://127.0.0.1:8882/actuator/refresh

    @Value("${ittcfInfo}")

    private String ittcfInfo;

当配置更改时,标有@RefreshScope的Bean将得到特殊处理来生效配置

手动刷新接口

Post请求手动刷新

http://127.0.0.1:8882/actuator/refresh  启动刷新器 config server读取

本文部分素材转载自蚂蚁课堂

http://www.yayakq.cn/news/508309/

相关文章:

  • 宁波网站制作工具网页设计模板素材网站
  • 百度上搜不到网站深圳建设银行分行网站
  • 做网站开发的薪酬怎么样创建域名
  • 河北省住房和城乡建设厅网站首页投资公司名字大全集
  • 营销型网站一套织梦网站面包屑导航怎么做
  • 棋牌网站怎么做优化wordpress媒体库图片太多
  • 网站 主机怎样建立自己的网站卖东西
  • 南京网站开发选南京乐识赞wordpress 更新feed
  • 做网站用什么免费字体网站建设asp文件怎么展现
  • 怎么做二维码微信扫后直到网站优质院校 建设网站
  • 网站构建工具wordpress投稿
  • 做中医药网站有前景吗网站建设成都公司哪家好
  • 悦昂网站建设红动中国免费素材网站
  • 做网站总结体会游戏网站开发什么意思
  • 环保网站建设公司桂林网站制作网站
  • html5 素材网站网站内容包括哪些
  • 方特网站是谁做的wordpress 自定义插件开发
  • 网站建设 服务条款电商网站开发前景
  • 国开行网站毕业申请怎么做做企业的网站都要准备什么东西
  • 四川建设局网站自己建网站怎么推广
  • pc端网站建设价格明细表seo l
  • 深圳公司网站推广视频直播系统源码
  • 用的最多的设计网站是哪个wordpress文字围绕图片
  • 企业网站建设策划方案wordpress 页面图片墙
  • 重庆微信网站制作zencart外贸网站建设
  • 建筑工程网上保健网站展示型的网站开发价格
  • 室内设计网站免费素材杭州餐饮 网站建设
  • 全国p2p网站建设国际贸易平台排名
  • 秦皇岛黄页大全秦皇岛本地信息网老鬼seo
  • 怎么做58同城网站教程国外的自建站平台是什么