SOP 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
SOP 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
SOP 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 猿敲月下码
适用人群 未知
收录时间 2019-03-25

软件简介

SOP(Simple Open Platform)

一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。

SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平台的一样的接口提供能力。

SOP封装了开放平台大部分功能包括:签名验证、统一异常处理、统一返回内容 、业务参数验证(JSR-303)、秘钥管理等,未来还会实现更多功能。

项目特点

  • 接入方式简单,与老项目不冲突,老项目注册到注册中心,然后在方法上加上注解即可。
  • 架构松耦合,业务代码实现在各自微服务上,SOP不参与业务实现,这也是Spring Cloud微服务体系带来的好处。
  • 扩展简单,开放平台对应的功能各自独立,可以自定义实现自己的需求,如:更改参数,更改签名规则等。

谁可以使用这个项目

  • 有现成的项目,想改造成开放平台供他人调用
  • 有现成的项目,想暴露其中几个接口并通过开放平台供他人调用
  • 想搭一个开放平台新项目,并结合微服务的方式去维护
  • 对开放平台感兴趣的朋友

以上情况都可以考虑使用SOP

架构图

SOP

已完成列表

  • 签名验证
  • 统一异常处理
  • 统一返回内容
  • session管理
  • 秘钥管理
  • 微服务端自动验证(JSR-303)
  • 支持Spring Cloud Gateway
  • 关闭签名校验功能
  • 整合easyopen
  • Admin管理平台,统一管理微服务配置,管理路由管理,微服务上下线

后期规划

  • 完善admin功能
  • Spring Cloud Config(Zookeeper)
  • SDK

admin界面预览

admin

admin

admin

工程说明

运行环境:JDK8,Maven3,Zookeeper

  • doc:开发文档
  • sop-registry:注册中心,eureka实现
  • sop-gateway:网关,统一访问入口,Spring Cloud Zuul实现,可切换成Spring Cloud Gateway
  • sop-common:公共模块,封装常用功能,包含签名校验、错误处理等功能
  • sop-story:微服务示例,story服务,同时作为Provider提供服务
  • sop-book:微服务示例,book服务,也是Consumer,调用story提供的服务
  • sop-test:接口调用测试用例

相关文档

开发文档

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(13) 发布并加入讨论🔥
发表了资讯
2020/02/19 14:05

SOP 3.1.0 发布,开放平台解决方案项目

SOP 3.1.0 发布,本次更新内容如下: 新增路由监控功能 新增路由拦截器 doc 优化负载均衡策略 本次更新重点内容是路由监控功能,网关统计每个接口的最大耗时,最小耗时,平均耗时,总调用次数,成功次数,失败次数。该功能是通过路由拦截器实现的。 登录admin后台可查看监控情况 关于 SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于 Spring Cloud 实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP 提供...

0
22
发表了资讯
2020/01/21 14:26

SOP 3.0.0 发布,开放平台解决方案项目

SOP 3.0.0 发布,本次发布内容如下: 重构spring cloud gateway网关 重构预发布/灰度发布环境选择 doc1 doc2 zuul和gateway网关二合一,可随意切换 doc 精简配置文件 优化文档中心页面 优化接口限流 本次属于一次大版本升级,主要的更新内容是重构和优化,Spring Cloud Gateway重构之后比之前更加稳定,在压力测试情况下没有出现error或timeout情况。压力测试参考此链接。 此外精简了配置文件,由之前的60多行减少到了6行配置,...

2
46
发表了资讯
2019/10/31 09:28

SOP 2.5.0 发布,开放平台解决方案项目

SOP 2.5.0 发布,本次发布内容如下 网关可校验 token(需要执行sop-2.5.0.sql升级文件) doc 在微服务端 @ApiMapping 注解中指定 needToken 属性为 true,网关可自动校验 token @ApiMapping(value = "story.token.get", needToken = true/* 设置true,网关会校验token是否存在 */) public StoryResult token(StoryParam story) { OpenContext openContext = ServiceContext.getCurrentContext().getOpenContext(); ...

0
21
发表了资讯
2019/10/15 08:57

SOP 2.4.0 发布,开放平台解决方案项目

SOP 2.4.0 发布,本次发布内容如下: 支持自定义限流持续时间(每n秒允许m个请求,需要执行`sop-2.4.0.sql`升级脚本) 注意:本次升级需要执行sop-2.4.0.sql脚本 在使用窗口限流的情况下,可指定窗口时间,即在n秒内允许m个请求,如下图所示: 关于 SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开...

1
35
发表了资讯
2019/10/09 08:45

SOP 2.3.0 发布,开放平台解决方案项目

SOP 2.3.0 发布,本次更新内容如下: 支持请求restful接口(设置sop.restful.enable=true) doc 默认情况下 SOP 只提供开放接口,也可以同时提供 restful 接口,即程序提供一部分的开放接口,同时提供一部分 restful 接口。 默认情况下提供 restful 功能是关闭的,开启方式如下: 打开 sop-gateway 配置文件,新增一行配置: # 提供restful接口 sop.restful.enable=true 现在开放接口和restful接口可以共存了 @RestControl...

0
17
发表了资讯
2019/09/30 10:33

SOP 2.2.0 发布,开放平台解决方案项目

SOP 2.2.0 发布,本次发布内容如下: 支持eureka注册中心,见eureka分支 签名内容支持urlencode(设置sign.urlencode=true) 可扩展其它注册中心 关于 SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平...

0
19
发表了资讯
2019/09/11 10:40

SOP 2.1.0 发布,开放平台解决方案项目

SOP 2.1.0发布,本次更新内容如下: 支持分布式限流(redis实现) doc 可调整JSR-303校验顺序 doc 修复springmvc工程注册到nacos无法读取路由配置问题 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开...

0
23
发表了资讯
2019/09/04 10:40

SOP 2.0.0 发布,开放平台解决方案项目

SOP 2.0.0发布,本次更新如下: 全面使用nacos,替代zookeepe 可自定义文档模块显示顺序 修复SpringCloudGateway网关路由查找失败问题 支持文件下载 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放...

6
31
发表了资讯
2019/08/14 09:08

SOP 1.15.0 发布,开放平台解决方案项目

本次更新内容如下: 优化预发布、灰度 doc 网关动态修改请求参数 doc 支持swagger-bootstrap-ui插件 admin服务列表在线/离线筛选(在线靠前) 文档刷新逻辑 测试all in one 修复返回中文乱码问题 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过...

0
37
发表了资讯
2019/07/08 09:47

SOP 1.12.0 发布,开放平台解决方案项目

本次更新内容如下: admin后台新增角色管理 支持nacos作为注册中心(见registry-nacos分支) doc 本次更新的重点内容是支持nacos注册中心。SOP基于Spring Cloud体系构建,默认注册中心使用eureka,应群里小伙伴要求,现已支持nacos作为注册中心,并且admin可控制服务实例的上下线。除此之外还可以对其它注册中心做扩展,如consul,扩展方式详见文档:扩展其它注册中心 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项...

1
17
发表了资讯
2019/06/28 10:58

SOP 1.11.0 发布,开放平台解决方案项目

本次更新内容如下: 秘钥管理改造 doc 服务端返回sign 新增SDK返回sign处理 新增沙箱环境 本次更新的重点内容是秘钥管理,新增了平台方的公私钥。如此一来,对接开放平台会有两套公私钥,一套由开发者生成的,一套由开放平台生成的。其中开发者持有appKey,开发者私钥、开放平台公钥。对接过支付宝开放平台的同学应该不会陌生。 新增了开放平台公私钥后,会对返回的结果进行一次签名,返回的类似下面格式: { "alipay_s...

1
32
发表了资讯
2019/06/10 09:57

SOP 1.10.0 发布,开放平台解决方案项目

SOP 1.10.0 发布了,本次更新内容如下: 新增监控日志,方便排查线上问题 doc 修复文档显示 BUG 本次更新重点内容是线上日志查看。查看日志有多重方式,如 ELK 或者直接登录服务器翻看日志文件。SOP 提供了一个简易方式去查看日志,开发者登录后台管理界面即可查看线上报错日志。 如上图所示,界面会显示具体哪个应用中的哪个接口报错,报错次数,报错信息。点详情可查看具体报错信息。 关于SOP SOP(Simple Open Platform) 一个...

0
16
发表了资讯
2019/05/22 11:23

SOP 1.9.0 发布,可进行多维度限流

SOP 1.9.0 发布了,更新内容如下 限流改造 doc 优化参数绑定 1.9.0 将之前的限流进行了改造,新的限流支持更多的限流方式。之前只能针对某个接口限流,新版限流可以在路由 ID(接口)、appKey、ip上进行限流。 可针对接口进行限流,所有访问该接口的请求都被限流 可针对 appKey 进行限流,某个 appKey 请求过来后,对他限流 可针对 IP 进行限流,某个 IP 请求过来后,对他限流 此外还可以进行组合 可针对接口 +appKey 进行限流,...

3
26
发表了资讯
2019/05/15 15:10

SOP 1.8.0 发布,开放平台解决方案项目

SOP 1.8.0 发布,本次更新内容如下: 支持文件上传 doc SDK使用文件上传方式如下: JAVA SDK DemoFileUploadRequest request = new DemoFileUploadRequest(); DemoFileUploadModel model = new DemoFileUploadModel(); model.setRemark("上传文件参数"); request.setBizModel(model); List<UploadFile> files = new ArrayList<>(); String root = System.getProperty("user.dir"); System.out.println(root); // 这...

2
22
发表了资讯
2019/04/29 09:10

SOP 1.6.0 发布,开放平台解决方案项目

本次更新内容如下: 新增应用授权功能 doc 本次更新的重点是应用授权功能 1、用户对开发者进行应用授权后,开发者可以帮助用户完成相应的业务逻辑。 2、授权采用标准的OAuth 2.0流程。 授权流程 更多信息,请参考开发文档 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝...

0
44
发表了资讯
2019/04/16 09:49

SOP 1.3.0 发布,开放平台解决方案项目

本次更新内容如下: 新增接口限流功能 doc 新增文档整合功能 doc 实现原理 新增springmvc项目接入demo 下个版本将会更新: 监控 本次更新的重点内容是接口限流和文档整合功能 接口限流管理页面预览: API文档界面: 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平...

0
46
发表了资讯
2019/04/08 12:31

SOP 1.2.0 发布,开放平台解决方案项目

SOP 1.1.0发布,此次更新内容如下: SOP Admin新增用户登录 新增基础SDK(Java,C#) doc 下个版本将会发布: 文档整合 springmvc项目接入demo 限流管理 本次更新的重点是基础SDK,Java版SDK使用方式如下: String url = "http://localhost:8081/api"; // zuul String appId = "2019032617262200001"; String privateKey = "你的私钥"; // 声明一个就行 OpenClient client = new OpenClient(url, appId, privateKey); ...

0
29
发表了资讯
2019/04/02 09:35

SOP 1.1.0 发布,开放平台解决方案项目

SOP 1.1.0发布,此次更新内容如下: 新增ISV管理 doc 新增接口授权 doc 下个版本将会发布: 基础SDK(js,Java,C#),编写SDK不在困难 限流管理 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平...

3
36
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
13 评论
127 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部