Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 972 Bytes

01.02.md

File metadata and controls

45 lines (34 loc) · 972 Bytes

1.2 项目架构

一个由 faygo 创建的项目基本包含如下几部分:

  • 新建框架实例
app := faygo.New("myapp", "0.1")
  • 编写接口操作
  type Index struct {
    Id        int      `param:"<in:path> <required> <desc:ID> <range: 0:10>"`
    Title     string   `param:"<in:query> <nonzero>"`
    Paragraph []string `param:"<in:query> <name:p> <len: 1:10> <regexp: ^[\\w]*$>"`
    Cookie    string   `param:"<in:cookie> <name:faygoID>"`
    // Picture         *multipart.FileHeader `param:"<in:formData> <name:pic> <maxmb:30>"`
}

func (i *Index) Serve(ctx *faygo.Context) error {
    if ctx.CookieParam("faygoID") == "" {
        ctx.SetCookie("faygoID", time.Now().String())
    }
    return ctx.JSON(200, i)
}
  • 注册路由
app.GET("/index/:id", &Index{})
  • 运行服务
faygo.Run()

links