go初识iris框架(四) -框架设置操作

前言

iris(1)
iris(2)
iris(3)

框架设置操作

当我们的一个路径是xxx/user/info,xxx/user/login,xxx/user/register的时候,我们发现前面都有一个user,我们如果用/{data:string}这样的话这样导致我们的路径是灵活的,所以我们得用其他方法

这里我们的路径是以anime为例

animeParty := app.Party("/animes",func(ctx iris.Context){
	//处理下一级请求
	ctx.Next()
})
animeParty.Get("/djsy",func(ctx iris.Context){
	djsyMsg := Anime{
		Fid:0,
		FName: "刀剑神域",
		ZFNumber:0,
	}
	ctx.JSON(djsyMsg)
})
animeParty.Get("/yls1",func(ctx iris.Context){
	djsyMsg := Anime{
		Fid:1,
		FName: "野良神第一季",
		ZFNumber:0,
	}
	ctx.JSON(djsyMsg)
})

Golang中分组处理

/**
    用户模块users
    xxx/users/register 注册
    xxx/users/login   登陆
    xxx/users/info    获取用户信息
*/
/**
    路由组请求
	/users:自定义
*/
userParty := app.Party("/users",func(ctx iris.Context){
    ctx.Next()
})
userParty.Get("/register",func(ctx iris.Context){
    userMsg := []User{
      {Uid: 0,Name: "admin"},
      {Uid: 1,Name: "zhangsan"},
	}
    ctx.JSON(userMsg)
})

userParty.Get("/login",func(ctx iris.Context){
    userMsg := []User{
      {Uid: 0,Name: "admin"},
      {Uid: 1,Name: "zhangsan"},
	}
    ctx.JSON(userMsg)
})

这个Party()会返回一个Party结构体对象,其中func()是匿名函数,我们可以定义一个方法来引用方法

userParty := app.Party("/users",userPartyFunc)

func userPartyFunc(ctx iris.Context){
    ctx.Next()
}

路由中的Done方法

当你执行完请求执行了Next()方法,就会去执行Done()方法,表示你的请求完成了

userParty := app.Party("/admin",func(ctx iris.Context){})
userParty.Done(func(ctx iris.Context){
	app.Application.Logger().Info("+ctx.Path())
})
userParty.Get('/info',func(ctx iris.Context){})

如果你需要进行一些配置

app.Configure()来进行配置

//一、通过程序代码对应用进行全局配置
app.Configure(iris.WithConfiguration(iris.Configuration{
	//如果设置为true,当人为中断程序时,则不会正常将服务关闭,如果设置为true,需要自己自定义处理
	DisableInterruptHandler: false,
	//该配置项表示更正并将请求的路径重定向到已注册的路径
	//比如:如果请求/home/但找不到比Route的处理程序,然后路由器检查/home处理程序是否存在,如果是,permant)将客户端重定向到正确的路径/home。
	//默认为false
	DisablePathCorrection: false,
	EnablePathEscape: false,
	FireMethodNotAllowed: false,
	DisableBodyConsumptionOnUnmarshal: false,
	DisableAutoFireStatusCode: false,
	TimeFormat: "Mon.02 Jan 2006 15:04:05 GMT",
	Charset: "utf-8",
}))

//二、通过读取tml配置文件读歌服务配置
//注意:要在rUn方法运行之前执行
app.Configure(iris.WithConfiguration(iris.T0ML(filename:"tml-path"))
//三、通过读取yam1配置文件读取服务配置

//同样要在run方法运行之前执行
app.Configure(iris.WithConfiguration(iris.YAML(filename:"yml-path"))
//四、通过j50n配置文件进行应用配置
file,-=os,0pen(name:"json-path")
defer file.Close()

你可能感兴趣的:(golang,golang,服务器)