当前位置: 首页 > news >正文

go初识iris框架(四) -框架设置操作

前言

iris(1)
iris(2)
iris(3)

框架设置操作

当我们的一个路径是xxx/user/info,xxx/user/login,xxx/user/register的时候,我们发现前面都有一个user,我们如果用/{data:string}这样的话这样导致我们的路径是灵活的,所以我们得用其他方法

这里我们的路径是以anime为例

animeParty := app.Party("/animes",func(ctx iris.Context){//处理下一级请求ctx.Next()
})
animeParty.Get("/djsy",func(ctx iris.Context){djsyMsg := Anime{Fid:0,FName: "刀剑神域",ZFNumber:0,}ctx.JSON(djsyMsg)
})
animeParty.Get("/yls1",func(ctx iris.Context){djsyMsg := Anime{Fid:1,FName: "野良神第一季",ZFNumber:0,}ctx.JSON(djsyMsg)
})

Golang中分组处理

/**用户模块usersxxx/users/register 注册xxx/users/login   登陆xxx/users/info    获取用户信息
*/
/**路由组请求/users:自定义
*/
userParty := app.Party("/users",func(ctx iris.Context){ctx.Next()
})
userParty.Get("/register",func(ctx iris.Context){userMsg := []User{{Uid: 0,Name: "admin"},{Uid: 1,Name: "zhangsan"},}ctx.JSON(userMsg)
})userParty.Get("/login",func(ctx iris.Context){userMsg := []User{{Uid: 0,Name: "admin"},{Uid: 1,Name: "zhangsan"},}ctx.JSON(userMsg)
})

这个Party()会返回一个Party结构体对象,其中func()是匿名函数,我们可以定义一个方法来引用方法

userParty := app.Party("/users",userPartyFunc)func userPartyFunc(ctx iris.Context){ctx.Next()
}

路由中的Done方法

当你执行完请求执行了Next()方法,就会去执行Done()方法,表示你的请求完成了

userParty := app.Party("/admin",func(ctx iris.Context){})
userParty.Done(func(ctx iris.Context){app.Application.Logger().Info("<respones:"+ctx.Path())
})
userParty.Get('/info',func(ctx iris.Context){})

如果你需要进行一些配置

app.Configure()来进行配置

//一、通过程序代码对应用进行全局配置
app.Configure(iris.WithConfiguration(iris.Configuration{//如果设置为true,当人为中断程序时,则不会正常将服务关闭,如果设置为true,需要自己自定义处理DisableInterruptHandler: false,//该配置项表示更正并将请求的路径重定向到已注册的路径//比如:如果请求/home/但找不到比Route的处理程序,然后路由器检查/home处理程序是否存在,如果是,permant)将客户端重定向到正确的路径/home。//默认为falseDisablePathCorrection: false,EnablePathEscape: false,FireMethodNotAllowed: false,DisableBodyConsumptionOnUnmarshal: false,DisableAutoFireStatusCode: false,TimeFormat: "Mon.02 Jan 2006 15:04:05 GMT",Charset: "utf-8",
}))//二、通过读取tml配置文件读歌服务配置
//注意:要在rUn方法运行之前执行
app.Configure(iris.WithConfiguration(iris.T0ML(filename:"tml-path"))
//三、通过读取yam1配置文件读取服务配置//同样要在run方法运行之前执行
app.Configure(iris.WithConfiguration(iris.YAML(filename:"yml-path"))
//四、通过j50n配置文件进行应用配置
file,-=os,0pen(name:"json-path")
defer file.Close()

相关文章:

go初识iris框架(四) -框架设置操作

前言 iris(1) iris(2) iris(3) 框架设置操作 当我们的一个路径是xxx/user/info,xxx/user/login,xxx/user/register的时候,我们发现前面都有一个user,我们如果用/{data:string}这样的话这样导致我们的路径是灵活的&#xff0c;所以我们得用其他方法 这里我们的路径是以anime为…...

python基础语法(二)

目录 注释注释的语法注释行文档字符串 注释的规范 输入输出和用户的交互通过控制台输出通过控制台的输入 注释 注释的语法 注释行 python的注释:使用#开通的行都是注释 # 这是一行注释C语言的注释:使用//的都是注释 // 这是一行注释文档字符串 使用三引号引起来的称为文档…...

从本地到Gitee:一步步学习文件上传及解决常见报错问题

&#x1f642;博主&#xff1a;小猫娃来啦 &#x1f642;文章核心&#xff1a;一步步学习文件上传及解决常见报错问题 文章目录 安装git进入gitee官网&#xff0c;登录账号新建仓库先打开git命令行上传本地资源到仓库第一步&#xff1a;git init第二步&#xff1a;git add .第三…...

idea2018修改大小写提示(敏感)信息

操作步骤如下&#xff1a; File > Settings > Editor > Code Completion > Code Completion&#xff08;默认是首字母&#xff0c;选为none将不区分大小写&#xff09;...

Quartz.Net调度框架简介

Quartz.Net是一个功能强大的开源任务调度框架&#xff0c;它可以在C#应用程序中实现灵活、可靠的任务调度和定时作业。它的主要作用是允许开发人员按照预定的时间表执行各种任务&#xff0c;例如定期生成报表、发送电子邮件、备份数据等。 在C#中使用Quartz.Net进行配置、开发…...

HarmonyOS/OpenHarmony(Stage模型)应用开发组合手势(一)连续识别

组合手势由多种单一手势组合而成&#xff0c;通过在GestureGroup中使用不同的GestureMode来声明该组合手势的类型&#xff0c;支持连续识别、并行识别和互斥识别三种类型。 .GestureGroup(mode:GestureMode, …gesture:GestureType[]) mode&#xff1a;必选参数&#xff0c;为G…...

Redis --- 位图

目录 背景 结构 存取方式 统计和查找 背景 开发过程中&#xff0c;会有布尔类型的存储&#xff0c;比如记录一个用户一年365天的签到情况&#xff0c;如果每天都要有一个布尔变量&#xff0c;多个用户&#xff0c;亦或者使用k-v形式&#xff0c;上亿用户的话这个存储量是惊…...

自然语言处理-词向量模型-Word2Vec

通常数据的维度越高&#xff0c;能提供的信息也就越多&#xff0c;从而计算结果的可靠性就更值得信赖 如何来描述语言的特征呢&#xff0c;通常都在词的层面上构建特征&#xff0c;Word2Vec就是要把词转换成向量 假设现在已经拿到一份训练好的词向量&#xff0c;其中每一个词都…...

List知识总结

ArrayList: 1 ArrayList扩容底层用到的是&#xff1b;System.arraycopy. 2 扩容的长度计算&#xff1b;int newCapacity oldCapacity (oldCapacity >> 1);&#xff0c;旧容量 旧容量右移1位&#xff0c;这相当于扩容为原 来容量的(int)3/2. 3 ArrayList<String…...

代码随想录day32

122.买卖股票的最佳时机 II ● 力扣题目链接 ● 给定一个数组&#xff0c;它的第 i 个元素是一支给定股票第 i 天的价格。 ● 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;。 ● 注意&#xff1a;你不能同…...

2.8 PE结构:资源表详细解析

在Windows PE中&#xff0c;资源是指可执行文件中存放的一些固定不变的数据集合&#xff0c;例如图标、对话框、字符串、位图、版本信息等。PE文件中每个资源都会被分配对应的唯一资源ID&#xff0c;以便在运行时能够方便地查找和调用它们。PE文件中的资源都被组织成一个树形结…...

Python数据类型的相互转换

简单数据类型之间的转换 1.字符串如果是数字的&#xff0c;转换为int类型 a "10" a int(a) print(a) 2.数字类型转换成bool类型 a 10 a bool(a) print(a) 只有0才是false&#xff0c;其他值是True 复杂数据类型之间的转换 list&#xff1a;列表 tuple&…...

阿里云云主机免费试用三个月

试用链接如下&#xff1a; 阿里云云产品免费试用 云主机 费用试用三个月&#xff0c;每月750小时 实例规格 1核(vCPU) 2 GiB S6 系列机型 适用搭建网站等场景 网络带宽 1M 公网固定网络带宽 云盘40 GiB 真香&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…...

OpenHarmony 使用 ArkUI Inspector 分析布局

● 摘要&#xff1a;视图的嵌套层次会影响应用的性能&#xff0c;开发者应该移除多余的嵌套层次&#xff0c;缩短组件刷新耗时。本文会介绍如何使用 ArkUI Inspector 工具分析布局&#xff0c;提示应用响应性能。 ● 关键字&#xff1a;列举本文相关的关键字&#xff1a;OpenH…...

Axes3D绘制3d图不出图解决办法【Python】

运行下面一段代码​&#xff1a; import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#这里设函数为y3x2x_data [1.0,2.0,3.0]y_data [5.0,8.0,11.0]​def forward(x): return x * w b​def loss(x,y): y_pred forward(x) …...

Idea中 css 、js 压缩插件会自动生成xxx.min.css、xxx.min.js文件

第一步&#xff1a;下载yuicompressor-2.4.8.jar 下载路径&#xff1a;打开搜索 YUI compressor Maven Repository: Search/Browse/Explore (mvnrepository.com)https://mvnrepository.com/ 找到点击下载即用&#xff08;如下图&#xff09; 创建文件夹&#xff0c;放入idea文…...

win11无法加载文件,因为在此系统上禁止运行脚本

问题背景&#xff1a; 最近升级了windows11&#xff0c;文件右键打开终端&#xff0c;默认是使用的powershell。 后面安装npm包依赖的时候&#xff0c;遇到了无法加载文件&#xff0c;因为在此系统上禁止运行脚本。 提示中可以通过访问链接查看&#xff1a;https:\go.micros…...

Spring Boot将声明日志步骤抽离出来做一个复用类

上文Spring Boot日志基础使用 设置日志级别中我们写了个比较基本的日志操作 但也随之产生了一个问题 我们这行代码 能不能不写&#xff1f; 具体说 我们不希望每个需要日志的类都声明一个在这 看着太不美观了 我们最简单方法当然是继承 我们找个目录创建一个类 叫 BaseClass…...

RabbitMQ实现数据库与ElasticSearch的数据同步和分享文件过期处理

&#x1f388; 1 参考文档 RabbitMQ实现数据库与ElasticSearch的数据同步 | Hannya。-CSDN 企业级开发项目实战——基于RabbitMQ实现数据库、elasticsearch的数据同步 | 波总说先赚它一个小目标-CSDN SPringBoot集成RabbitMQ实现30秒过期删除功能 | 军大君-CSDN &#x1f50d; …...

PyCharm集成开发环境安装、启动与设置

作为非开发工程师职业,大家多多少少都会对编程有抵触,其实没有必要对Python有太大的“戒心" ,把Python当做你的一个工具就可以了。——扎克伯格 一、Python的定义&#xff1a; Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有…...

Claude Code 代码保存全攻略:告别丢失,高效管理开发成果

日常开发中&#xff0c;用 Claude Code 生成代码后&#xff0c;很多人都会遇到这些糟心事&#xff1a;生成的代码片段零散复制&#xff0c;换个会话就找不到&#xff1b;手动保存步骤繁琐&#xff0c;遗漏文件或格式错乱&#xff1b;切换不同 AI 模型时&#xff0c;代码记录无法…...

基于MCP协议构建AI知识库:Alexandria项目部署与核心工作流解析

1. 项目概述&#xff1a;让AI拥有自己的“亚历山大图书馆”如果你和我一样&#xff0c;长期与各种AI助手&#xff08;比如Claude、Cursor、Codex&#xff09;打交道&#xff0c;肯定会遇到一个头疼的问题&#xff1a;知识无法沉淀。今天你花半小时教会AI助手某个项目的架构细节…...

Windows NFSv4.1客户端终极指南:让Windows系统无缝访问NFS服务器

Windows NFSv4.1客户端终极指南&#xff1a;让Windows系统无缝访问NFS服务器 【免费下载链接】ms-nfs41-client NFSv4.1 Client for Windows 项目地址: https://gitcode.com/gh_mirrors/ms/ms-nfs41-client 想要在Windows系统中像操作本地文件一样访问远程NFS服务器吗&a…...

为什么你需要LRCGET:5步为离线音乐库实现完美歌词同步

为什么你需要LRCGET&#xff1a;5步为离线音乐库实现完美歌词同步 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget 还在为数千首离线音乐缺少歌词而烦恼…...

PonyAgent 试用笔记:当 LangGraph 太重、Dify 太黑盒,中小企业的第三条路,一个很实用的智能体框架

PonyAgent 试用笔记&#xff1a;当 LangGraph 太重、Dify 太黑盒&#xff0c;中小企业的第三条路 TL;DR&#xff1a;PonyAgent 是一个用 Python 写的极简智能体框架&#xff0c;单文件入口、.env 一处配置、Redis 挂了能自动降级到内存模式。我用 5 分钟在 Windows 上把它跑了起…...

告别付费电话!手把手教你用Linphone+SIP搭建免费语音视频通话系统(附服务器配置)

零成本构建企业级音视频通信系统&#xff1a;LinphoneSIP全栈实战指南 在远程协作成为主流的今天&#xff0c;企业每年为商业通信软件支付的订阅费用往往高达数万元。我曾为一家20人团队优化通信成本时发现&#xff0c;仅视频会议一项的年支出就超过3万元——而这一切完全可以通…...

连开车回家都靠肌肉记忆——芯片工程师到底有多累

下班开车&#xff0c;到家的时候不记得路上发生了什么。这件事很多芯片工程师都经历过。那种精神层面的透支——脑子里塞满了太多东西&#xff0c;意识没有余量去关注开车这件事&#xff0c;只能交给身体的自动驾驶。体力劳动的疲惫&#xff0c;睡一觉就好了。芯片研发的疲惫不…...

OpenAPI规范自动生成CLI工具:原理、实现与工程实践

1. 项目概述&#xff1a;从API文档到命令行工具的自动化革命如果你是一名后端开发者&#xff0c;或者经常需要与各种RESTful API打交道&#xff0c;那么下面这个场景你一定不陌生&#xff1a;产品经理或前端同事跑过来&#xff0c;递给你一份新鲜出炉的OpenAPI/Swagger规范文档…...

异构GPU推理优化:Tessera架构解析与实践

1. 异构GPU推理的性能瓶颈与挑战在当前的AI推理服务部署中&#xff0c;混合使用不同代际的GPU已经成为提升性价比的常见做法。比如将最新的H100与相对便宜的L40S搭配使用&#xff0c;或者将计算密集型的B200与内存优化的H100组合部署。然而&#xff0c;这种异构环境下的资源利用…...

告别会议室回音:用Python和WPE算法给你的语音识别模型‘清耳’

用Python实现WPE算法&#xff1a;彻底解决会议语音识别中的混响难题 想象一下这样的场景&#xff1a;你精心训练的语音识别模型在安静环境下表现优异&#xff0c;但一旦放到会议室或车载环境中&#xff0c;识别准确率就直线下降。这不是模型的问题&#xff0c;而是混响在作祟—…...