github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/server/index/mock.go (about) 1 package index 2 3 import ( 4 "github.com/easysoft/zendata/internal/server/controller" 5 "github.com/easysoft/zendata/internal/server/core/module" 6 "github.com/kataras/iris/v12" 7 ) 8 9 type MockModule struct { 10 MockCtrl *controller.MockCtrl `inject:""` 11 } 12 13 func NewMockModule() *DataModule { 14 return &DataModule{} 15 } 16 17 // Party 执行 18 func (m *MockModule) Party() module.WebModule { 19 handler := func(index iris.Party) { 20 index.Get("/", m.MockCtrl.List).Name = "Mock列表" 21 index.Get("/{id:uint}", m.MockCtrl.Get).Name = "Mock详情" 22 index.Post("/", m.MockCtrl.Save).Name = "保存Mock" 23 index.Delete("/{id:uint}", m.MockCtrl.Remove).Name = "删除Mock" 24 25 index.Get("/{id:uint}/listSampleSrc", m.MockCtrl.ListSampleSrc).Name = "获取Sample来源列表" 26 index.Post("/{id:uint}/changeSampleSrc", m.MockCtrl.ChangeSampleSrc).Name = "修改Sample来源" 27 28 index.Post("/upload", m.MockCtrl.Upload).Name = "上传Spec" 29 index.Get("/getPreviewData", m.MockCtrl.GetPreviewData).Name = "上传Spec" 30 index.Post("/getPreviewResp", m.MockCtrl.GetPreviewResp).Name = "上传Spec" 31 32 index.Post("/startMockService", m.MockCtrl.StartMockService).Name = "启动/关闭Mock服务" 33 } 34 35 return module.NewModule("/mocks", handler) 36 } 37 38 func (m *MockModule) PartyData() module.WebModule { 39 handler := func(index iris.Party) { 40 index.Any("/{paths:path}", m.MockCtrl.Mock) // mock data url 41 } 42 43 return module.NewModule("/m", handler) 44 }