本书未发布

12.16. Render

未匹配的标注
package main

/*
Render会根据请求的Accept header觉得使用哪种方式写入返回数据,需要api请求时按照标准请求,不会默认返回json。

默认方式是返回字符串(fmt.Fprintf(ctx, "%#v", data))。
*/

import (
    "github.com/eudore/eudore"
    "github.com/eudore/eudore/component/httptest"
)

type renderData struct {
    Name    string `xml:"name" json:"name"`
    Message string `xml:"message" json:"message"`
}

func main() {
    app := eudore.NewApp()
    app.AnyFunc("/*path", func(ctx eudore.Context) interface{} {
        return renderData{
            Name:    "eudore",
            Message: "hello eudore",
        }
    })

    client := httptest.NewClient(app)
    client.NewRequest("GET", "/1").WithHeaderValue("Accept", "application/json").Do().Out()
    client.NewRequest("GET", "/1").WithHeaderValue("Accept", "application/xml").Do().Out()
    client.NewRequest("GET", "/1").WithHeaderValue("Accept", eudore.MimeTextHTML).Do().Out()
    client.NewRequest("GET", "/1").WithHeaderValue("Accept", eudore.MimeTextPlain).Do().Out()

    app.Listen(":8088")
    // app.CancelFunc()
    app.Run()
}

反馈和交流请加群组:QQ群373278915

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~