iris入门教程 iris 快速开始

2024-02-25 开发教程 iris入门教程 匿名 27

经过安装章节的操作过后,假设现在main.go文件下有如下代码

package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
booksAPI := app.Party("/books")
{
booksAPI.Use(iris.Compression)
// GET: http://localhost:8080/books
booksAPI.Get("/", list)
// POST: http://localhost:8080/books
booksAPI.Post("/", create)
}
app.Listen(":8080")
}
// Book example.
type Book struct {
Title string `json:"title"`
}
func list(ctx iris.Context) {
books := []Book{
{"Mastering Concurrency in Go"},
{"Go Design Patterns"},
{"Black Hat Go"},
}
ctx.JSON(books)
}
func create(ctx iris.Context) {
var b Book
err := ctx.ReadJSON(&b)
// 接收json格式数据
if err != nil {
ctx.StopWithProblem(iris.StatusBadRequest, iris.NewProblem().
Title("Book creation failure").DetailErr(err))
return
}
println("Received Book: " + b.Title)
ctx.StatusCode(iris.StatusCreated)
}

执行上述代码后,GET请求通过访问浏览器http://localhost:8080/books即可查看我们预先存储好的内容

而POST请求这里我们使用Postman来模拟

而如果传入的不是json,错误响应如下