forked from farseer-go/webapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
run.go
96 lines (77 loc) · 2.38 KB
/
run.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package webapi
import (
"github.com/farseer-go/fs/modules"
"github.com/farseer-go/webapi/context"
"github.com/farseer-go/webapi/controller"
)
var defaultApi *applicationBuilder
func RegisterMiddleware(m context.IMiddleware) {
// 需要先依赖模块
modules.ThrowIfNotLoad(Module{})
defaultApi.RegisterMiddleware(m)
}
// RegisterController 自动注册控制器下的所有Action方法
func RegisterController(c controller.IController) {
// 需要先依赖模块
modules.ThrowIfNotLoad(Module{})
defaultApi.RegisterController(c)
}
// RegisterPOST 注册单个Api(支持占位符,例如:/{cateId}/{Id})
func RegisterPOST(route string, actionFunc any, params ...string) {
defaultApi.RegisterPOST(route, actionFunc, params...)
}
// RegisterGET 注册单个Api(支持占位符,例如:/{cateId}/{Id})
func RegisterGET(route string, actionFunc any, params ...string) {
defaultApi.RegisterGET(route, actionFunc, params...)
}
// RegisterPUT 注册单个Api(支持占位符,例如:/{cateId}/{Id})
func RegisterPUT(route string, actionFunc any, params ...string) {
defaultApi.RegisterPUT(route, actionFunc, params...)
}
// RegisterDELETE 注册单个Api(支持占位符,例如:/{cateId}/{Id})
func RegisterDELETE(route string, actionFunc any, params ...string) {
defaultApi.RegisterDELETE(route, actionFunc, params...)
}
// RegisterRoutes 批量注册路由
func RegisterRoutes(routes ...Route) {
defaultApi.RegisterRoutes(routes...)
}
// Area 设置区域
func Area(area string, f func()) {
defaultApi.Area(area, f)
}
// UseCors 使用CORS中间件
func UseCors() {
defaultApi.UseCors()
}
// UseStaticFiles 支持静态目录,在根目录./wwwroot中的文件,直接以静态文件提供服务
func UseStaticFiles() {
// 需要先依赖模块
modules.ThrowIfNotLoad(Module{})
defaultApi.UseStaticFiles()
}
// UsePprof 是否同时开启pprof
func UsePprof() {
defaultApi.UsePprof()
}
// UseSession 开启Session
func UseSession() {
defaultApi.UseSession()
}
func UseWebApi() {
defaultApi.UseWebApi()
}
// UseApiResponse 让所有的返回值,包含在core.ApiResponse中
func UseApiResponse() {
defaultApi.UseApiResponse()
}
// UseTLS 使用https
func UseTLS(certFile, keyFile string) {
defaultApi.UseTLS(certFile, keyFile)
}
// Run 运行Web服务
func Run(params ...string) {
// 需要先依赖模块
modules.ThrowIfNotLoad(Module{})
defaultApi.Run(params...)
}