GoWeb之Iris

本文通过一系列Go语言Iris框架的示例,详细介绍了如何处理HTTP GET和POST请求,包括返回字符串、HTML、JSON和XML数据。示例涵盖了从创建服务、监听端口到读取请求参数和返回不同格式响应的完整流程,适合初学者快速上手Go Web开发。
摘要由CSDN通过智能技术生成

开始Iris之旅

golang版本1.15
Iris框架的使用

简单的一个demo,创建并启动一个服务

package main

import "github.com/kataras/iris/v12"

func main() {
	//创建一个服务
	app := iris.New()
	//创建一个Get请求,请求的URL是:http://localhost:8080/helloworld
	//第一个参数是请求的路由地址,第二个参数为匿名函数
	app.Get("/helloworld", func(context iris.Context) {
		//获取请求的地址path
		path := context.Path()
		//将地址信息在日志中打印出来
		app.Logger().Info(path)
	})
	//启动服务,监听8080端口
	app.Run(iris.Addr(":8080"))
}

处理请求

Get

向浏览器返回数据
返回字符串

package main

import "github.com/kataras/iris/v12"

func main() {
	app := iris.New()
	app.Get("/userPath", func(context iris.Context) {
		path := context.Path()
		app.Logger().Info(path)
		//向浏览器返回一个字符串
		context.WriteString("请求路径:" + path)
	})
	app.Run(iris.Addr(":8080"))
}

运行结果:
在这里插入图片描述
向浏览器返回HTML页面

package main

import "github.com/kataras/iris/v12"

func main() {
	app := iris.New()
	//处理Get请求,并接受参数
	app.Get("/userInfo", func(context iris.Context) {
		path := context.Path()
		app.Logger().Info(path)
		//获取get请求所携带的参数
		//第一个参数username
		userName := context.URLParam("username")
		//第二个参数pwd
		pwd := context.URLParam("pwd")
		app.Logger().Info(userName, " ", pwd)
		//向浏览器返回HTML
		context.HTML("<h1>" + userName + "<br>" + pwd + "</h1>")
	})
	app.Run(iris.Addr(":8080"))
}

运行结果
在这里插入图片描述
向浏览器返回JSON数据

package main

import "github.com/kataras/iris/v12"

func main() {
	app := iris.New()
	//Get请求,向浏览器返回Json数据
	app.Get("/getJson", func(context iris.Context) {
		//方式1
		context.JSON(iris.Map{"name": "王五", "age": 18})
		//方式2
		context.JSON(Person{Name: "刘能",Pwd: "777777"})
	})
	app.Run(iris.Addr(":8080"))
}

测试结果
在这里插入图片描述
向浏览器返回XML格式数据

package main

import "github.com/kataras/iris/v12"

func main() {
	app := iris.New()
	//Get请求,向浏览器返回XML数据
	app.Get("/getXML", func(context iris.Context) {
		context.XML(Person{Name: "刘六", Pwd: "111111"})
	})
	app.Run(iris.Addr(":8080"))
}

测试结果
在这里插入图片描述

Post

package main

import "github.com/kataras/iris/v12"

func main() {
	app := iris.New()
	//Post请求
	app.Post("/postDemoOne", func(context iris.Context) {
		//获取Post请求中form表单提交的数据name
		name := context.PostValue("name")
		//获取Post请求中form表单提交的数据pwd
		pwd := context.PostValue("pwd")
		//以HTML的格式返回至浏览器
		context.HTML("<h1>" + name + "<br>" + pwd + "</h1>")
	})
	app.Run(iris.Addr(":8080"))
}

结果演示
这里推荐一款API调试工具(ApiPost)在谷歌商店中安装该插件(需科学上网,或自己找安装程序),并且下载客户端
在这里插入图片描述
Post请求处理JSON格式的数据

package main

import "github.com/kataras/iris/v12"

//创建一个Person结构体
type Person struct {
	Name string `json:"name"`
	Pwd  string `json:"pwd"`
}

func main() {
	app := iris.New()
	//Post请求处理JSON格式的数据
	app.Post("/postDemoTwo", func(context iris.Context) {
		person := &Person{}
		err := context.ReadJSON(person)
		if err != nil {
			panic(err)
		}
		fmt.Println(person.Name)
		fmt.Println(person.Pwd)
	})
	app.Run(iris.Addr(":8080"))
}

结果演示
在这里插入图片描述
控制台打印结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值