iris 快速开始

经过安装章节的操作过后,假设现在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即可查看我们预先存储好的内容

iris 快速开始

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

iris 快速开始

iris 快速开始

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

iris 快速开始

作者:admin,如若转载,请注明出处:https://www.web176.com/iris/21998.html

(0)
打赏 支付宝 支付宝 微信 微信
adminadmin
上一篇 2023年5月19日
下一篇 2023年5月19日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注