YAAG生成iris web框架项目API文档

    • 下载中间件
    • 导入依赖包

    import github.com/betacraft/yaag/yaagImport github.com/betacraft/yaag/irisyaag

    • 初始化yaag
    • 注册yaag中间件

    app.Use(irisyaag.New())irisyaag记录响应主体并向apidoc提供所有必要的信息

    main.go

    1. package main
    2. import (
    3. "github.com/kataras/iris"
    4. "github.com/betacraft/yaag/irisyaag"
    5. "github.com/betacraft/yaag/yaag"
    6. )
    7. /*
    8. 下载包 go get github.com/betacraft/yaag/...
    9. type myXML struct {
    10. Result string `xml:"result"`
    11. }
    12. func main() {
    13. app := iris.New()
    14. //初始化中间件
    15. yaag.Init(&yaag.Config{
    16. On: true, //是否开启自动生成API文档功能
    17. DocTitle: "Iris",
    18. DocPath: "apidoc.html", //生成API文档名称存放路径
    19. BaseUrls: map[string]string{"Production": "", "Staging": ""},
    20. })
    21. //注册中间件
    22. app.Use(irisyaag.New())
    23. app.Get("/json", func(ctx iris.Context) {
    24. ctx.JSON(iris.Map{"result": "Hello World!"})
    25. })
    26. ctx.Text("Hello World!")
    27. })
    28. app.Get("/xml", func(ctx iris.Context) {
    29. })
    30. app.Get("/complex", func(ctx iris.Context) {
    31. value := ctx.URLParam("key")
    32. ctx.JSON(iris.Map{"value": value})
    33. })
    34. //运行HTTP服务器。
    35. //每个传入的请求都会重新生成和更新“apidoc.html”文件。
    36. //编写调用这些处理程序的测试,保存生成的apidoc.html,apidoc.html.json。
    37. //在制作时关闭yaag中间件。
    38. app.Run(iris.Addr(":8080"))
    39. }
    • 运行上面的例子,并请求其中任意一个接口,会生成apidoc.htmlapidoc.html.json两个文件
    • 如果不关闭yaag中间件,apidoc.htmlapidoc.html.json文件会随着每一次请求而重新生成