1.2 项目架构

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

  • 新建框架实例
  1. app := faygo.New("myapp", "0.1")
  • 编写接口操作

    1. type Index struct {
    2. Id int `param:"<in:path> <required> <desc:ID> <range: 0:10>"`
    3. Title string `param:"<in:query> <nonzero>"`
    4. Paragraph []string `param:"<in:query> <name:p> <len: 1:10> <regexp: ^[\\w]*$>"`
    5. Cookie string `param:"<in:cookie> <name:faygoID>"`
    6. // Picture *multipart.FileHeader `param:"<in:formData> <name:pic> <maxmb:30>"`
    7. }
    8. func (i *Index) Serve(ctx *faygo.Context) error {
    9. if ctx.CookieParam("faygoID") == "" {
    10. ctx.SetCookie("faygoID", time.Now().String())
    11. }
    12. return ctx.JSON(200, i)
    13. }
  • 注册路由

  1. app.GET("/index/:id", &Index{})
  • 运行服务
  1. faygo.Run()