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 框架搭建一 快速启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/BangBrother/article/details/107019867
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/299064

相关文章

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro