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

相关文章

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地