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