SOP接入文檔

SOP接口文檔

1、流程


springcloud+dubbo.png

2、集成nacos與sop pom.xml配置

<!-- 使用nacos注冊中心 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.5.RELEASE</version>
</dependency>
<!-- sop-->
<dependency>
    <groupId>com.gitee.sop</groupId>
    <artifactId>sop-service-common</artifactId>
    <version>4.5.0-SNAPSHOT</version>
</dependency>
<!--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>
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.6</version>
</dependency>

3、application.yml配置

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

4、啟動類上加@EnableDiscoveryClient注解

@EnableDiscoveryClient
public class QrcodeCenterWebApplication {
    public static void main(String[] args) {
        SpringApplication.run(QrcodeCenterWebApplication.class, args);
    }
}

5、新增一個配置類,繼承AlipayServiceConfiguration.java,內容為空

package com.juliye.center.qrcode.web.swagger;

import com.gitee.sop.servercommon.configuration.AlipayServiceConfiguration;
import org.springframework.context.annotation.Configuration;

@Configuration
public class OpenServiceConfig extends AlipayServiceConfiguration {

}

6、swagger配置

@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class SwaggerConfig extends SwaggerSupport {

    @Override
    protected String getDocTitle() {
        return "qrcode-center-web接口文檔";
    }

    @Override
    protected boolean swaggerAccessProtected() {
        return false;
    }
}

7、sop @Open注解使用

@Open(value = "recode.redirect", version = "2.0",  permission = true, bizCode = {
        // 定義業(yè)務錯誤碼,用于文檔顯示
        @BizCode(code = "100001", msg = "姓名錯誤", solution = "填寫正確的姓名"),
        @BizCode(code = "100002", msg = "備注錯誤", solution = "填寫正確備注"),
})

/**
 * @author tanghc
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Open {

    /**
     * 接口名,如:member.user.get
     */
    String value();

    /**
     * 版本號,默認版本號是""<br>
     *     改默認版本號:<code>ServiceConfig.getInstance().setDefaultVersion("1.0");</code>
     */
    String version() default "";

    /**
     * 忽略驗證,業(yè)務參數(shù)除外
     */
    boolean ignoreValidate() default false;

    /**
     * 告訴網(wǎng)關是否對結果進行合并,默認合并。設置為false,客戶端將直接收到微服務端的結果。
     */
    boolean mergeResult() default true;

    /**
     * 指定接口是否需要授權才能訪問,可在admin中進行修改
     */
    boolean permission() default false;

    /**
     * 是否需要appAuthToken,設置為true,網(wǎng)關端會校驗token是否存在
     */
    boolean needToken() default false;

    /**
     * 定義業(yè)務錯誤碼,用于文檔顯示
     */
    BizCode[] bizCode() default {};
}

7、配置成功頁面

成功頁面.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容