經(jīng)過安裝章節(jié)的操作過后,假設(shè)現(xiàn)在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格式數(shù)據(jù)
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)
}
執(zhí)行上述代碼后,GET請求通過訪問瀏覽器http://localhost:8080/books即可查看我們預(yù)先存儲好的內(nèi)容
而POST請求這里我們使用Postman來模擬
而如果傳入的不是json,錯誤響應(yīng)如下
更多建議: