Golang Web 框架Iris安装部署


Posted in Python onAugust 14, 2022

引言

Iris作为Golang中新兴的Web框架,比Gin晚了两年,于2016年开源,到目前为止已具备了较为完备的功能,参考Iris官方的数据可以发现,Iris不论在响应速度上还是吞吐量上都比同类型的Web框架高,通过本文可以了解如何在Web项目中使用Iris框架。

官方文档:www.iris-go.com/docs/#/?id=…

Iris 安装

和其他Web框架一样,通过 go module 来安装Iris

go get github.com/kataras/iris/v12@master

快速上手

通过简单的三步曲既可启动一个Iris服务:

获取Iris对象-->配置路由的处理逻辑-->启动监听服务,在main函数中启动后,访问127.0.0.1:8080可以获得返回的json数据 {"code":200,"msg":"success"}

app := iris.New()
// 指定根路径 / 的处理逻辑
app.Get("/", func(c iris.Context) {
   c.JSON(iris.Map{
      "code": 200,
      "msg":  "success",
   })
})
// 监听 8080 端口,并提供Web服务
app.Listen(":8080")

在Iris中使用RESTful风格的API

  • 查询数据

在路由地址中使用中括号{},括起来的部分可以通过c.Params().Get()的方式获取

// curl 127.0.0.1:8080/goods/123
app.Get("/goods/{id}", func(c iris.Context) {
   c.JSON(iris.Map{
      "id":  c.Params().Get("id"),
   })
})
  • 新增数据

使用PostValue接受表单传递过来的参数,同时Iris还提供了PostValueIntPostValueFloat32等方法,方便将前端传递过来的数据进行快速转化成相对应的类型,或者设置其该有的默认值等

// curl -X POST -d 'name=goods_name' 127.0.0.1:8080/goods
app.Post("/goods", func(c iris.Context) {
   c.JSON(iris.Map{
      "id":  c.PostValue("name"),
   })
})

使用ReadJson方法,将传递过来的数据Json格式化到指定的结构体中

定义一个用于接收数据的结构体

type Good struct {
   Name string
}

使用ReadJson方法将context中的数据渲染到good上

// curl -X POST -d '{"name":"goods_name"}' 127.0.0.1:8080/goods
good := new(Good)
app.Post("/goods", func(c iris.Context) {
   c.ReadJSON(good)
   c.JSON(iris.Map{
      "name":  good.Name,
   })
})
  • 修改数据

使用PUT方法封装路由,使用PostValue方法获取用户传递过来的数据,这里也可以结合上面所说的ReadJson方法,读取用户传递过来的数据

app.Put("/goods", func(c iris.Context) {
   c.JSON(iris.Map{
      "name":   c.PostValue("name"),
   })
})
  • 删除数据

删除数据这里不同的点是使用app.Delete方法,至于参数的传递与获取方面与上文的查询数据时所说的方法一致了

静态站点部署

通过HandleDir方法指定静态资源文件所处的目录即可,参考以下代码配置后,访问地址127.0.0.1:8080/static/xxx.png,就能获取到static目录下的xxx图片

app.HandleDir("/static", "/user/local/my-iris/static")

以上就是Golang Web 框架Iris安装部署的详细内容,更多关于Golang Web框架Iris的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
Python有序查找算法之二分法实例分析
Dec 11 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
Feb 17 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 Python
Python配置pip国内镜像源的实现
Aug 20 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
python manim实现排序算法动画示例
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 #Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 #Python
基于Python实现nc批量转tif格式
Aug 14 #Python
LyScript实现绕过反调试保护的示例详解
Aug 14 #Python
LeetCode189轮转数组python示例
Aug 05 #Python
python语言中pandas字符串分割str.split()函数
Aug 05 #Python
You might like
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
PHP下MAIL的另一解决方案
2006/10/09 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
PHP网络操作函数汇总
2015/05/18 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
php利用header函数下载各种文件
2016/08/24 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
javascript面向对象程序设计(一)
2015/01/29 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
PHP7新特性简述
2017/06/11 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
TensorFlow变量管理详解
2018/03/10 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
python 实现两个线程交替执行
2020/05/02 Python
python爬取youtube视频的示例代码
2021/03/03 Python
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
实习自我鉴定模板
2013/09/28 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
助学金感谢信
2015/01/20 职场文书
四年级数学上册教学计划
2015/01/20 职场文书