小白网-奉贤部落-奉贤免费信息发布平台

查看: 60|回复: 0

路由和接口(路由器收集接口)

[复制链接]

2万

主题

0

回帖

8万

积分

论坛元老

Rank: 8Rank: 8

积分
88256
发表于 2025-7-26 12:48 | 显示全部楼层 |阅读模式
前言不管是web server框架还是rpc框架,接口作为办事的内部进口,背后能够包括复杂的后端流程,不但限于营业逻辑处置和数据处置操纵、根本才能挪用等他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。是以,接口和“后端流程”之间必须存在映照托付关系他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
路由机制
以下都是web框架的例子他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。rpc框架比web更间接,就是指定方式挪用他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
本质上,http api请求和rpc挪用经过收集完成双方的交互他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。我们不范围于行业内平台和微办事的利用他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。究竟上,我们可以概括和了解,一切的“互动”都有以下要素:
  • 草案双方赞成的通讯法则他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    同一的相同法则可以保证相同的正确性,避免歧义;
    按照交互场景和限制挑选合适的协议,如app中前端交互常用的http/https,物联网场景能够利用MQTT/CoAP,可以进步通讯效力,下降通讯本钱;
  • 通讯内容通讯的使命是传递信息,信息不过是数据他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。结构化数据和非结构化数据都有响应的暗示,并辅以众多的协议,可以有用地构造起来停止传输他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。比如最多见的http请求get参数,json格式参数,rpc protobuf等他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
  • 相同方针数据托付到那里?
    这也是接口概念的关键他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在计较机收集合,可以定位收集合的主机和进程他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。您若何托付收集请求停止处置?那末接口就是收集请求的进口,常见框架中的路由婚配法则都差不多他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    注册RoutesRouting注册实现接口和控制器的映照,然后完成后续的处置流程
    他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。同时可以注册中心件,构建请求处置的履行链接
    他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。路由注册的方式有很多种,原则上可以总结以下:
    基于设置(静态)
  • 剖析设置文件//比如PHP框架用Arrayclass ActionControllerConfig扩大actionbase config {public static controller config =  gt;array(array(' action _ id ' =  gt;' action_name' // action的唯一标识,将用作路由器映照键' pattern ' = >;'/^/rest/2.0/module/operation/?Params'//框架法则分歧他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这个例子是正则表达式+请求参数组合婚配' path ' = >;控制器类途径'' controller _ class ' =  gt;controller1.class.php'),...)}
  • 手动注册线路//代码源https://github.com/go-chi/chir . route("/parent/pattern ",Func(r router){r . use(middleware 2 . setcontextuser)//设备中心件 r.mount ("/xxx1 ",new xxx1 router())r . Mount("/xxx2 ",new xxx2 router(boot))r . Mount("/xxx3 ",new xxx3 router(boot))r . Mount("/xxx4 ",NewXxx4Router(boot))
    基于反射、正文、静态代理(静态)
  • 再了解一下“反射”:
    Golang/Java之类的编译说话,具体的实现在编译以后就已经存在了,可是法式是怎样晓得的呢?利用反射来获得特定的范例和值
  • 工作流程:
    建立新的route实例
    在编码阶段设置router的处置法式
    办事启动时初始化注册,反射获得router.type  Router他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。值(各类方式,但不限于此)
    梳理一下“路由器”所持有的“路由表”,路由表的本质是URL
  • 常见框架路由注册案例:spring MVC Annotation Go Web framework路由法则的切确婚配
    形式婚配
    参数帮助婚配
    保护终极线路注册的输出成果首要有以下两种形式(求知情伙伴补充~)
    路由列表
    路由树
    公共最左侧前缀婚配
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|小白网-奉贤部落-奉贤免费信息发布平台  

    GMT+8, 2025-11-12 09:31 , Processed in 0.104049 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表