• 模块、服务、接口命名示例


    一、项目整体架构图示例

    在这里插入图片描述
    在这里插入图片描述

    二、模块命名规范

    1.spring cloud 基础模块命名示例

    模块项目名
    注册中心cloud-eureka
    网关cloud-zuul
    配置中心cloud-config-server
    熔断监控(ui)cloud-hystrix-dashboard
    健康检查cloud-hystrix-dashboard
    链路追踪cloud-zipkin-ui

    2.基础common模块命名示例
    所有服务都引用的一个 二方库。

    模块项目名
    通用,工具类,异常,校验internal-common

    3.能力层相关模块命名示例

    模块项目名
    app升级service-app-update
    订单service-order
    短信service-sms
    验证码service-verification-code
    钱包service-wallet
    乘客用户管理service-passenger-user

    4.业务层相关模块命名示例

    模块项目名
    乘客端api-passenger
    司机端api-driver

    三、接口规范设计

    https://www.amap.com/v4/formatted_address/meta?key=xxx
    
    • 1
    1. 协议:https、http

    2. 域名:/restapi.yuming.com/

    3. 版本:v1

    4. 路径:/xxoo/xxoo/ (名词)

    5. 动作:
      ​(1)post:新建
      ​(2)put:修改(修改后的全量数据)
      (3)patch:修改(修改哪个,传哪个)
      (4)delete:删除
      (5)get:查询。

    6. 单词统一使用下划线或者驼峰格式,如下
      addressCompent或formatted_address

    四、接口安全设计

    1.CIA: 保密性(Confidential),完整性(integrity),可用性(applicability)
    (1)敏感数据传输和存储要加密,如手机号、身份证号要脱敏——保密性
    (2)数据不丢失、被人篡改后接口无效——完整性

    2.数据层面:防止sql注入
    select * form table where name = (变量1;delete table)
    可使用过滤 jsoup框架。

    3.xss: spring-htmlUtils。
    在正常用户请求中执行了黑客提供的恶意代码,问题出在:用户数据没有过滤,转义。

    csrf: 人机交互。token。
    冒充别人的登录信息,问题出在:没有防范不信任的调用

    4.数据权限控制。

    jsoup里的xss whitelist(白名单)有6种方法,一个构造方法和5种静态方法。

  • 相关阅读:
    MyBatis (where、set、foreach)标签
    vue项目中使用高德地图
    聊聊MySQL存储过程
    5、Kafka集成 SpringBoot
    阿里2022“研究型实习生”计划公布,开放200多个科研选题
    雾锁王国服务器一键部署教程
    git cherry pick
    Go程序内存泄露问题快速定位
    Java 9 响应式流(Reactive Streams)
    未来的应用为什么需要安全沙箱
  • 原文地址:https://blog.csdn.net/weixin_46258873/article/details/133925298