From df255b12b6c539771af32701523d91b42f1786a3 Mon Sep 17 00:00:00 2001 From: John Date: Tue, 24 Jul 2018 23:43:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84ghttp.Server=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E6=8E=A7=E5=88=B6=E7=A4=BA=E4=BE=8B=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- g/net/ghttp/ghttp_response.go | 1 + geg/net/ghttp/server/router/router1.go | 6 +++--- geg/net/ghttp/server/router/router3.go | 4 ++-- geg/net/ghttp/server/router/router4.go | 24 ++++++++++++++++++++++++ 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 geg/net/ghttp/server/router/router4.go diff --git a/g/net/ghttp/ghttp_response.go b/g/net/ghttp/ghttp_response.go index e6271adb2..1247d22df 100644 --- a/g/net/ghttp/ghttp_response.go +++ b/g/net/ghttp/ghttp_response.go @@ -75,6 +75,7 @@ func (r *Response) Write(content ... interface{}) { // 返回信息,末尾增加换行标识符"\n" func (r *Response) Writeln(content ... interface{}) { if len(content) == 0 { + r.Write("\n") return } content = append(content, "\n") diff --git a/geg/net/ghttp/server/router/router1.go b/geg/net/ghttp/server/router/router1.go index 144239513..6d3ef71f0 100644 --- a/geg/net/ghttp/server/router/router1.go +++ b/geg/net/ghttp/server/router/router1.go @@ -8,7 +8,7 @@ import ( func main() { s := g.Server() s.BindHandler("/:name", func(r *ghttp.Request){ - r.Response.Writeln(r.Router.Uri) + r.Response.Writeln(r.Router.Uri) }) s.BindHandler("/:name/update", func(r *ghttp.Request){ r.Response.Writeln(r.Router.Uri) @@ -17,9 +17,9 @@ func main() { r.Response.Writeln(r.Router.Uri) }) s.BindHandler("/:name/*any", func(r *ghttp.Request){ - r.Response.Writeln(r.Router.Uri) + r.Response.Writeln(r.Router.Uri) }) - s.BindHandler("/user/list/{page}.html", func(r *ghttp.Request){ + s.BindHandler("/user/list/{field}.html", func(r *ghttp.Request){ r.Response.Writeln(r.Router.Uri) }) s.SetPort(8199) diff --git a/geg/net/ghttp/server/router/router3.go b/geg/net/ghttp/server/router/router3.go index a509fe4a3..43ce60a99 100644 --- a/geg/net/ghttp/server/router/router3.go +++ b/geg/net/ghttp/server/router/router3.go @@ -12,8 +12,8 @@ func main() { r.Response.Writeln(r.Get("page")) }) // {xxx} 规则与 :xxx 规则混合使用 - s.BindHandler("/{obj}/:attr/{act}.php", func(r *ghttp.Request){ - r.Response.Writeln(r.Get("obj")) + s.BindHandler("/{object}/:attr/{act}.php", func(r *ghttp.Request){ + r.Response.Writeln(r.Get("object")) r.Response.Writeln(r.Get("attr")) r.Response.Writeln(r.Get("act")) }) diff --git a/geg/net/ghttp/server/router/router4.go b/geg/net/ghttp/server/router/router4.go new file mode 100644 index 000000000..121b3bc2a --- /dev/null +++ b/geg/net/ghttp/server/router/router4.go @@ -0,0 +1,24 @@ +package main + +import ( + "gitee.com/johng/gf/g/net/ghttp" + "gitee.com/johng/gf/g" +) + +func main() { + s := g.Server() + // 该路由规则仅会在GET请求下有效 + s.BindHandler("GET:/{table}/list/{page}.html", func(r *ghttp.Request){ + r.Response.WriteJson(r.Router) + }) + // 该路由规则仅会在GET请求及localhost域名下有效 + s.BindHandler("GET:/order/info/{order_id}@localhost", func(r *ghttp.Request){ + r.Response.WriteJson(r.Router) + }) + // 该路由规则仅会在DELETE请求下有效 + s.BindHandler("DELETE:/comment/{id}", func(r *ghttp.Request){ + r.Response.WriteJson(r.Router) + }) + s.SetPort(8199) + s.Run() +} \ No newline at end of file