# shisany **Repository Path**: bugaoxing/personal_projects ## Basic Information - **Project Name**: shisany - **Description**: rbac权限框架,springcloud,集成OAuth2.0,gateway鉴权处理,服务级动态路由,给予nacos做服务器发现以及配置文件管理 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 16 - **Forks**: 3 - **Created**: 2020-05-12 - **Last Updated**: 2024-08-24 ## Categories & Tags **Categories**: authority-management **Tags**: None ## README [![star](https://gitee.com/bugaoxing/personal_projects/badge/star.svg?theme=dark)](https://gitee.com/bugaoxing/personal_projects/stargazers) [![Fork me on Gitee](https://gitee.com/bugaoxing/personal_projects/widgets/widget_2.svg)](https://gitee.com/bugaoxing/personal_projects)- ##服务技术栈 | 技术栈 | 版本号 | | --- | --- | | springcloud | Hoxton.SR3 | | mybatisplus | 3.2.0 | | nacos | 1.2.1 | | mysql | 8.0 | ##路由解释 1.rest/** 后台路由前缀 2.app/** 提供前段路由前缀 3.tool/** 免鉴权路由 4.rest/common/** 只需进行令牌合法性工具路由 ## 服务划分 ```bash # yf-gateway 入口网关服务 # yf-basics 综合服务 # yf-model 实体jar # yf-common 工具依赖jar # yf-oauth 统一鉴权授权服务 # yf-upm-service 业务相关服务父级pom # yf-basics 基础服务 ``` @项目仅供学习@ 服务端所有接口均采用RESTful风格,移动端和web端均使用同样一批接口,为了弥补RESTful的无状态化以及移动端session的缺失,故引入token机制。 Session的主要功能是保持会话信息,而Token则只用于登录用户的身份鉴权。所以在移动端使用Token会比使用Session更加简易并且有更高的安全性, 同时也更加符合RESTful中无状态的定义。 接口调用方法目前支持四种类型 GET、POST、PUT和DELETE + 因为目前流程器不支持PUT和DELETE + 对于其他客户端,如果不支持PUT和DELETE,调用的接口为PUT或DELETE时,用POST方法调用接口,并传递参数_method=PUT/DELETE来作为补充 PUT,POST,DELTE 传递参数是,contentType 必须为 Content-Type: application/x-www-form-urlencoded 接口描述 ---- 服务端所有接口均采用RESTful风格,移动端和web端均使用同样一批接口,为了弥补RESTful的无状态化以及移动端session的缺失,故引入token机制。 Session的主要功能是保持会话信息,而Token则只用于登录用户的身份鉴权。所以在移动端使用Token会比使用Session更加简易并且有更高的安全性, 同时也更加符合RESTful中无状态的定义。 接口调用方法目前支持四种类型 GET、POST、PUT和DELETE + 因为目前流程器不支持PUT和DELETE + 对于其他客户端,如果不支持PUT和DELETE,调用的接口为PUT或DELETE时,用POST方法调用接口,并传递参数_method=PUT/DELETE来作为补充 PUT 传递参数是,contentType 必须为 Content-Type: application/x-www-form-urlencoded 接口返回 ~~~~ 正常情况下,如果请求达到系统,均返回HTTP Status 200,如果未能到达系统,均按标准的浏览器状态返回 + 如果没有返回结果也表示成功 .返回如下 .... { "code": "200", "msg": "success", "data": {xxx:xxx,xxx} } .... ~~~~ ** 返回值说明** | 名称 | 类型 | 描述 | | --- | --- | --- | |code |string | 业务状态码,200标识成功,业务状态码对照表见下 |msg|string | 业务状态码对应的描述信息 |data |object | 各个业务接口返回的数据内容,可以是字符串也可以使json对象或数据等 ** 业务状态码说明对照表** | 状态码 | 说明 | | --- | --- | |-1 |未知原因,或还未定义该异常的类型 |200 |业务成功返回 |1000 |参数不存在 |3000 |鉴权错误编码 |4000 |参数不合法编码 |404 |资源找不到