Iris配置

package main

import (
	"github.com/kataras/iris"
	"os"
	"encoding/json"
	"fmt"
)

/**
 * Iris配置设置案例
 */
func main() {

	//1.新建app实例
	app := iris.New()

	//一、通过程序代码对应用进行全局配置
	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.TOML("/Users/hongweiyu/go/src/irisDemo/5-路由组及Iris配置/configs/iris.tml")))

	//三、通过读取yaml配置文件读取服务配置
	//同样要在run方法运行之前执行
	app.Configure(iris.WithConfiguration(iris.YAML("/Users/hongweiyu/go/src/irisDemo/5-路由组及Iris配置/configs/iris.yml")))

	//四、通过json配置文件进行应用配置
	file, _ := os.Open("/Users/hongweiyu/go/src/irisDemo/5-路由组及Iris配置/config.json")
	defer file.Close()

	decoder := json.NewDecoder(file)
	conf := Coniguration{}
	err := decoder.Decode(&conf)
	if err != nil {
		fmt.Println("Error:", err)
	}
	fmt.Println(conf.Port)

	//2.运行服务,端口监听
	app.Run(iris.Addr(":8009"))
}

//有多少项json配置,就有几个字段
type Coniguration struct {
	AppName string `json:"appname"`
	Port    int    `json:"port"`
}

  

posted @ 2020-02-05 08:56  1769987233  阅读(740)  评论(0编辑  收藏  举报