这次我们来实现区块链web应用的路由
上次我们实现了fabric-sdk-go的编写,fabric-sdk-go接下来我们便可以编写web应用的路由。
我们这次编写路由还是使用golang编写,goalng的gin框架还是非常友好的。建立一个名为mian.go的文件(项目结构我后面再说,区块链采用的是MVC模式)废话不多说直接上代码(请确保GOPATH当中含有gin的依赖包)golang的依赖包我已上传如下:golang依赖包
package main
import (//导包
"Agricultural/application/blockchain"
"Agricultural/application/controller"
"github.com/gin-gonic/gin"
"net/http"
)
func setupRouter() *gin.Engine {
router := gin.Default()
// 中间件
router.Use(controller.CORS)
router.Use(controller.FixVueRouter)
// 加载中间件
router.Use(controller.CORS) // 先加载跨域模块(便于开发)
router.Use(controller.FixVueRouter) // 修复前端内部路由问题
// 公司
router.GET("/queryCompany", controller.QueryCompany)
//controller.QueryCompany控制器中的方法,我们下次再讲
router.GET("/querySubAccount", controller.QuerySubAccount)
router.GET("/querySubAccounts", controller.QuerySubAccounts)
router.POST("/createCompany", controller.CreateCompany)
router.POST("/updateCompany", controller.UpdateCompany)
router.POST("/createSubAccount", controller.CreateSubAccount)
router.POST("/updateSubAccount", controller.UpdateSubAccount)
router.POST("/delCompany", controller.DelCompany)
router.POST("/delSubAccount", controller.DelSubAccount)
// 场地
router.GET("/querySpace", controller.QuerySpace)
router.POST("/createSpace", controller.CreateSpace)
router.POST("/updateSpace", controller.UpdateSpace)
router.POST("/delSpace", controller.DelSpace)
// 资产
router.GET("/queryAssets", controller.QueryAssets)
router.POST("/createAssets", controller.CreateAssets)
router.POST("/updateAssets", controller.UpdateAssets)
router.POST("/delAssets", controller.DelAssets)
// 肥力
router.POST("/createTestFertility", controller.CreateTestFertility)
//
// 静态文件路由
router.StaticFS("/web/", http.Dir("./public/"))
return router
}
func main() {
blockchain.Init()
router := setupRouter()
err := router.Run()
if err != nil {
panic(err)
}
}
怎么样编写就如同上面一样,具体来说,编写路由还是不难的只需要注意控制器其中的方法,还有路由地址即可。下次我们来写控制器。