Iris框架简介

包的安装不在赘述,仅提几点:
通过设置GOPROXY=https://goproxy.io来使用代理去进行包的下载。

linux下通过export进行设置,windows下使用setx

如果使用mod 进行包管理,则最好通过replace指令替换一些难下载的包:
例如:

replace golang.org/x/text v0.0.0 => github.com/golang/text v0.3.2

路由规则:

app.Handle("GET","/", func(ctx iris.Context){})
app.Get("/home", func(context context.Context) {})

两者等价

app.Get("/do", doHandler, doFinishHandler)

设置了两个handler进行响应。

app.Get("/user/{id:int min(1)}", func(ctx context.Context) {})

获取参数,设定参数的类型和最值

adminRoutes := app.Party("/admin",adminMiddleware)
adminRoutes.Get("/login", func(i context.Context) {})

设置了子目录,访问路径变为:admin/login

v1 := app.Party("v1.")
userApi := v1.Party("/api/user")
userApi.Get("/{id:int}", func(ctx context.Context) {})

设置了子域名,访问路径变为:v1.localhost/api/user/id

简单demo:

简单url验证

package main

import (
    "github.com/kataras/iris"
)

func main(){
    app := iris.New()
    app.Get("/", func(ctx iris.Context) {
        ctx.WriteString("hello world")
    })

    app.Run(iris.Addr(":8080"), iris.WithCharset("utf-8"))
}

简单页面:

func main(){
    app := iris.New()

    htmlEngine := iris.HTML("./demo/",".html")
    app.RegisterView(htmlEngine)
    app.Get("/hello", func(ctx iris.Context) {
        ctx.ViewData("title","test page")
        ctx.ViewData("content","here are some strings ")

        ctx.View("hello.html")
    })



    
    {{.title}}


{{.content}}


附一下目录结构方便路径理解:

MVC 项目:

beego框架可以通过bee 工具来实现项目结构的初始化。
iris好像没有类似的工具,但是目录结构较为常规:

文档中给出的例子:https://studyiris.com/doc/irisDoc/MoviesMVCApplication.html

相比之下好像beego的工具更齐全一些,附一个beego及其工具bee的使用简介:
https://www.jianshu.com/p/e61ef6ad67a6

配合使用的工具 xorm

我这边使用的时xorm 及其cmd工具,可以帮助处理数据库相关的操作,生成model文件等,相关介绍见链接:
https://www.jianshu.com/p/78f7edabe6c1

你可能感兴趣的:(Iris框架简介)