iris使用版本:v12
接收json 格式
package main
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/middleware/logger"
"github.com/kataras/iris/v12/middleware/recover"
"github.com/rs/cors"
)
func main() {
app := iris.New()
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowCredentials: true,
Debug: true,
})
app.WrapRouter(c.ServeHTTP)
app.Use(recover.New())
app.Use(logger.New())
app.Get("/ping", func(ctx iris.Context) {
ctx.WriteString("<h1 style='color=red'>ping</h1>") // 以纯文字输出
// ctx.HTML("<h1 style='color:red'>ping</h1>") // 以html格式进行输出
})
// 设置不同的应用APP不同的路由名称
users := app.Party("/users")
{
users.Post("/add", addUsers) // 接收 json 格式参数
}
app.Listen(":9999")
}
type Person struct {
Id string `form:"id" json:"id" url:"id" msgpack:"id"`
Name string `form:"name" json:"name" url:"name" msgpack:"name"`
}
func addUsers(ctx iris.Context) {
var person Person
err := ctx.ReadJSON(&person)
if err != nil {
println("error")
ctx.JSON(iris.Map{
"code": 400,
"msg": "fail",
})
return
}
println(person.Id)
ctx.JSON(iris.Map{
"code": 200,
"msg": "success",
})
}
接收 form 格式参数
package main
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/middleware/logger"
"github.com/kataras/iris/v12/middleware/recover"
"github.com/rs/cors"
)
func main() {
app := iris.New()
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowCredentials: true,
Debug: true,
})
app.WrapRouter(c.ServeHTTP)
app.Use(recover.New())
app.Use(logger.New())
app.HandleDir("/", "./public")
app.Get("/ping", func(ctx iris.Context) {
ctx.WriteString("<h1 style='color=red'>ping</h1>") // 以纯文字输出
// ctx.HTML("<h1 style='color:red'>ping</h1>") // 以html格式进行输出
})
// 设置不同的应用APP不同的路由名称
users := app.Party("/users")
{
users.Post("/edit", editUsers) // 接收 form 格式参数
}
app.Listen(":9999")
}
type Person struct {
Id string `form:"id" json:"id" url:"id" msgpack:"id"`
Name string `form:"name" json:"name" url:"name" msgpack:"name"`
}
func editUsers(ctx iris.Context) {
// 接收方法一:
id_ := ctx.PostValue("id")
name := ctx.PostValueDefault("name", "Tom")
// 接受方法二:
var person Person
err := ctx.ReadForm(&person)
if err != nil {
println("error")
ctx.JSON(iris.Map{
"code": 400,
"msg": "fail",
"id": person.Id,
"name": person.Name,
})
return
}
ctx.JSON(iris.Map{
"code": 200,
"msg": "success",
"id": id_,
"name": name,
})
}