iris-v12 框架搭建一 快速启动

2023-10-29 07:10

本文主要是介绍iris-v12 框架搭建一 快速启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iris-v12 框架搭建一 快速启动

iris 框架搭建这个系列主要参考iris-v12官方文档+Example。
iris-v12Example

import ("strconv""github.com/kataras/iris/v12""github.com/kataras/iris/v12/middleware/logger""github.com/kataras/iris/v12/middleware/recover"
)func main() {app := iris.New()//打印app正在使用的golog Logger实例,//总共六种级别disable,fatal,error,warn,info,debug//默认为info级别,可以设置,也可以自己自定义级别。app.Logger().SetLevel("debug")// 添加两个中间件// 1.可以从任何http相关panic中恢复,默认打印包含err内容的warn级别的日志// 2.请求日志中间件,请不要将它与框架的日志混淆。这只是针对http请求的。app.Use(recover.New())app.Use(logger.New(logger.Config{// 是否记录状态码,默认falseStatus: true,// 是否记录远程IP地址,默认falseIP: true,// 是否呈现HTTP谓词,默认falseMethod: true,// 是否记录请求路径,默认truePath: true,// 是否开启查询追加,默认falseQuery: true,//是否以列模式显示,默认falseColumns: false,}))// 第一种方式// Method:   GET// url: http://localhost:8080/htmlapp.Handle("GET", "/html", func(ctx iris.Context) {ctx.HTML("<h1>街角魔族是最好看的动漫</h1>")})// 第二种方式// 等效于 app.Handle("GET", "/text", func)// Method:   GET// url: http://localhost:8080/textapp.Get("/text", func(ctx iris.Context) {ctx.WriteString("街角魔族是最好看的动漫")})// 参数num不为uint64类型时触发recover中间件// Method:   GET// url: http://localhost:8080/json?num=uint64app.Get("/json", func(ctx iris.Context) {numStr := ctx.URLParam("num")number, err := strconv.ParseUint(numStr, 10, 0)if err != nil {ctx.JSON(iris.Map{"data": nil, "success": "fail"})panic(err)}type data struct {Name   stringNumber uint64Adj    string}if number != 1 {ctx.JSON(iris.Map{"data": nil, "success": "fail"})return}anime := data{}anime.Name = "街角魔族是世界第"anime.Number = numberanime.Adj = "好看"ctx.JSON(iris.Map{"data": anime, "success": "success"})})//Run(serve iris.Runner, withOrWithout ...iris.Configurator)//可选参数iris.Configurator自行查找//监听8080端口号app.Run(iris.Addr(":8080"))
}

运行后如果控制台打印以下内容则为成功

[DBUG] 2020/06/29 14:50 Host: register server shutdown on interrupt(CTRL+C/CMD+C)
Now listening on: http://localhost:8080
Application started. Press CTRL+C to shut down.

可以在浏览器输入以下url查看结果
url: http://localhost:8080/html
或使用Postman查看结果⬇以下红框只画一次给没用过的人看一下关键标识的位置。
iris-quick-start-1
可见结果返回的是html,当然这个其实不常用,返回页面也不是用的这个方法。
发送请求后打印的日志记录⬇

[INFO] 2020/06/29 15:17 200   0s ::1 GET /html

url:http://localhost:8080/json?num=a,参数num不能转换为uint64将触发recover中间件
iris-quick-start-2
打印warn级别日志

[WARN] 2020/06/29 15:19 Recovered from a route's Handler('main.main.func3')
At Request: 200 /json GET ::1
Trace: strconv.ParseUint: parsing "a": invalid syntax

再来个正确的例子⬇
iris-quick-start-3
没错街角魔族就是世界第一好看的anime
以上结束,具体细节看代码。下次更新mvc结构的搭建。

这篇关于iris-v12 框架搭建一 快速启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/299064

相关文章

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

《SpringBoot项目如何使用外部application.yml配置文件启动JAR包》文章介绍了SpringBoot项目通过指定外部application.yml配置文件启动JAR包的方法,包括... 目录Spring Boot项目中使用外部application.yml配置文件启动JAR包一、基本原理