Date: Fri, 29 Mar 2024 06:20:06 +0800 (CST) Message-ID: <826025330.8277.1711664406006@localhost.localdomain> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_8276_1827298284.1711664406006" ------=_Part_8276_1827298284.1711664406006 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
=E5=AF=B9=E8=B1=A1=E6=B3=A8=E5=86=8C=E6=98=AF=E9=80=9A= =E8=BF=87=E4=B8=80=E4=B8=AA=E5=AE=9E=E4=BE=8B=E5=8C=96=E7=9A=84=E5=AF=B9=E8= =B1=A1=E6=9D=A5=E6=89=A7=E8=A1=8C=E8=B7=AF=E7=94=B1=E6=B3=A8=E5=86=8C=EF=BC= =8C=E4=BB=A5=E5=90=8E=E6=AF=8F=E4=B8=80=E4=B8=AA=E8=AF=B7=E6=B1=82=E9=83=BD= =E4=BA=A4=E7=BB=99=E8=AF=A5=E5=AF=B9=E8=B1=A1=EF=BC=88=E5=90=8C=E4=B8=80=E5= =AF=B9=E8=B1=A1=EF=BC=89=E5=A4=84=E7=90=86=EF=BC=8C=E8=AF=A5=E5=AF= =B9=E8=B1=A1=E5=B8=B8=E9=A9=BB=E5=86=85=E5=AD=98=E4=B8=8D=E9=87=8A=E6=94=BE= =E3=80=82
=E7=9B=B8=E5=85=B3=E6=96=B9=E6=B3=95=EF=BC=9A
func (s *Server) BindObject(patt= ern string, object interface{}, methods ...string) error func (s *Server) BindObjectMethod(pattern string, object interface{}, metho= d string) error func (s *Server) BindObjectRest(pattern string, object interface{}) error= pre>
=E5=89=8D=E7=BD=AE=E7=BA=A6=E5=AE=9A=EF=BC=9A=E9=9C=80= =E8=A6=81=E8=BF=9B=E8=A1=8C=E8=B7=AF=E7=94=B1=E6=B3=A8=E5=86=8C=E7=9A=84=E6= =96=B9=E6=B3=95=E5=BF=85=E9=A1=BB=E4=B8=BA=E5=85=AC=E5=BC=80=E6=96= =B9=E6=B3=95=EF=BC=8C=E5=B9=B6=E4=B8=94=E6=96=B9=E6=B3=95= =E5=AE=9A=E4=B9=89=E5=A6=82=E4=B8=8B=EF=BC=9A
func(r *ghttp.Request)
=E5=90=A6=E5=88=99=E6=97=A0=E6=B3=95=E5=AE=8C=E6=88=90=E6=B3=A8=E5=86=8C= =EF=BC=8C=E8=B7=AF=E7=94=B1=E6=B3=A8=E5=86=8C=E6=97=B6=E5=B0=86=E4=BC=9A=E6= =9C=89=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=EF=BC=8C=E4=BE=8B=E5=A6=82=EF=BC= =9A
panic:= interface conversion: interface {} is xxx, not func(*ghttp.Request)
BindObject
=E6=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87BindObject=
code>=E6=96=B9=E6=B3=95=E5=AE=8C=E6=88=90=E5=AF=B9=E8=B1=A1=E7=9A=84=E6=B3=
=A8=E5=86=8C=E3=80=82
package main import ( =09"github.com/gogf/gf/v2/frame/g" =09"github.com/gogf/gf/v2/net/ghttp" ) type Controller struct{} func (c *Controller) Index(r *ghttp.Request) { =09r.Response.Write("index") } func (c *Controller) Show(r *ghttp.Request) { =09r.Response.Write("show") } func main() { =09s :=3D g.Server() =09c :=3D new(Controller) =09s.BindObject("/object", c) =09s.SetPort(8199) =09s.Run() }
=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=88=B0=EF=BC=8C=E5=AF=B9=E8=B1=A1=E5=9C=A8=
=E8=BF=9B=E8=A1=8C=E8=B7=AF=E7=94=B1=E6=B3=A8=E5=86=8C=E6=97=B6=E4=BE=BF=E7=
=94=9F=E6=88=90=E4=BA=86=E4=B8=80=E4=B8=AA=E5=AF=B9=E8=B1=A1=EF=BC=88=E5=AF=
=B9=E8=B1=A1=E5=9C=A8Server
=E5=90=AF=E5=8A=A8=E6=97=B6=E4=BE=
=BF=E7=94=9F=E6=88=90=EF=BC=89=EF=BC=8C=E6=AD=A4=E5=90=8E=E4=B8=8D=E7=AE=A1=
=E5=A4=9A=E5=B0=91=E8=AF=B7=E6=B1=82=E8=BF=9B=E5=85=A5=EF=BC=8CServer=
=E9=83=BD=E6=98=AF=E5=B0=86=E8=AF=B7=E6=B1=82=E8=BD=AC=E4=BA=A4=E7=
=BB=99=E8=AF=A5=E5=AF=B9=E8=B1=A1=E5=AF=B9=E5=BA=94=E7=9A=84=E6=96=B9=E6=B3=
=95=E8=BF=9B=E8=A1=8C=E5=A4=84=E7=90=86=E3=80=82=E8=AF=A5=E7=A4=BA=E4=BE=8B=
=E6=89=A7=E8=A1=8C=E5=90=8E=EF=BC=8C=E7=BB=88=E7=AB=AF=E8=BE=93=E5=87=BA=E7=
=9A=84=E8=B7=AF=E7=94=B1=E8=A1=A8=E5=A6=82=E4=B8=8B=EF=BC=9A
SERVER = | DOMAIN | ADDRESS | METHOD | ROUTE | HANDLER | M= IDDLEWARE |---------|---------|---------|--------|---------------|-------------------= -------|------------| default | default | :8199 | ALL | /object | main.(*Controller)= .Index | |---------|---------|---------|--------|---------------|-------------------= -------|------------| default | default | :8199 | ALL | /object/index | main.(*Controller)= .Index | |---------|---------|---------|--------|---------------|-------------------= -------|------------| default | default | :8199 | ALL | /object/show | main.(*Controller)= .Show | |---------|---------|---------|--------|---------------|-------------------= -------|------------|
=E9=9A=8F=E5=90=8E=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87 http:= //127.0.0.1:8199/object/show =E6=9F=A5=E7=9C=8B=E6=95=88=E6=9E=9C=E3=80= =82
=E6=8E=A7=E5=88=B6=E5=99=A8=E4=B8=AD=E7=9A=84Index
=E6=96=B9=
=E6=B3=95=E6=98=AF=E4=B8=80=E4=B8=AA=E7=89=B9=E6=AE=8A=E7=9A=84=E6=96=B9=E6=
=B3=95=EF=BC=8C=E4=BE=8B=E5=A6=82=EF=BC=8C=E5=BD=93=E6=B3=A8=E5=86=8C=E7=9A=
=84=E8=B7=AF=E7=94=B1=E8=A7=84=E5=88=99=E4=B8=BA/user
=E6=97=B6=
=EF=BC=8CHTTP=E8=AF=B7=E6=B1=82=E5=88=B0/user
=E6=97=B6=EF=BC=
=8C=E5=B0=86=E4=BC=9A=E8=87=AA=E5=8A=A8=E6=98=A0=E5=B0=84=E5=88=B0=E6=8E=A7=
=E5=88=B6=E5=99=A8=E7=9A=84Index
=E6=96=B9=E6=B3=95=E3=80=82=E4=
=B9=9F=E5=B0=B1=E6=98=AF=E8=AF=B4=EF=BC=8C=E8=AE=BF=E9=97=AE=E5=9C=B0=E5=9D=
=80/user
=E5=92=8C/user/index
=E5=B0=86=E4=BC=9A=E8=
=BE=BE=E5=88=B0=E7=9B=B8=E5=90=8C=E7=9A=84=E6=89=A7=E8=A1=8C=E6=95=88=E6=9E=
=9C=E3=80=82
=E5=BD=93=E4=BD=BF=E7=94=A8BindObject
=E6=96=B9=E6=B3=95=E8=
=BF=9B=E8=A1=8C=E5=AF=B9=E8=B1=A1=E6=B3=A8=E5=86=8C=E6=97=B6=EF=BC=8C=E5=9C=
=A8=E8=B7=AF=E7=94=B1=E8=A7=84=E5=88=99=E4=B8=AD=E5=8F=AF=E4=BB=A5=E4=BD=BF=
=E7=94=A8=E4=B8=A4=E4=B8=AA=E5=86=85=E7=BD=AE=E7=9A=84=E5=8F=98=E9=87=8F=EF=
=BC=9A{.struct}
=E5=92=8C{.method}
=EF=BC=8C=E5=89=
=8D=E8=80=85=E8=A1=A8=E7=A4=BA=E5=BD=93=E5=89=8D=E5=AF=B9=E8=B1=A1=
=E5=90=8D=E7=A7=B0=EF=BC=8C=E5=90=8E=E8=80=85=E8=A1=A8=E7=A4=BA=E5=
=BD=93=E5=89=8D=E6=B3=A8=E5=86=8C=E7=9A=84=E6=96=B9=E6=B3=95=E5=90=
=8D=E3=80=82=E6=88=91=E4=BB=AC=E6=9D=A5=E7=9C=8B=E4=B8=80=E4=B8=AA=
=E4=BE=8B=E5=AD=90=EF=BC=9A
package main import ( =09"github.com/gogf/gf/v2/frame/g" =09"github.com/gogf/gf/v2/net/ghttp" ) type Order struct{} func (o *Order) List(r *ghttp.Request) { =09r.Response.Write("list") } func main() { s :=3D g.Server() o :=3D new(Order) =09s.BindObject("/{.struct}-{.method}", o) =09s.SetPort(8199) =09s.Run() }
=E6=89=A7=E8=A1=8C=E5=90=8E=EF=BC=8C=E7=BB=88=E7=AB=AF=E8=BE=93=E5=87=BA= =E7=9A=84=E8=B7=AF=E7=94=B1=E8=A1=A8=E5=A6=82=E4=B8=8B=EF=BC=9A
SERVER = | DOMAIN | ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWAR= E |---------|---------|---------|--------|-------------|--------------------|= ------------| default | default | :8199 | ALL | /order-list | main.(*Order).List | |---------|---------|---------|--------|-------------|--------------------|= ------------|
=E6=88=91=E4=BB=AC=E5=B0=9D=E8=AF=95=E7=9D=80=E8=AE=BF=E9=97=AE http://127.0.0.1:8199/order-list =EF=BC=8C=E5=8F=AF=E4=BB=A5=E7=9C=
=8B=E5=88=B0=E9=A1=B5=E9=9D=A2=E8=BE=93=E5=87=BAlist
=E3=80=82=
=E5=A6=82=E6=9E=9C=E8=B7=AF=E7=94=B1=E8=A7=84=E5=88=99=E4=B8=AD=E4=B8=8D=E4=
=BD=BF=E7=94=A8=E5=86=85=E7=BD=AE=E5=8F=98=E9=87=8F=EF=BC=8C=E9=82=A3=E4=B9=
=88=E9=BB=98=E8=AE=A4=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C=E6=96=B9=
=E6=B3=95=E5=B0=86=E4=BC=9A=E8=A2=AB=E8=BF=BD=E5=8A=A0=E5=88=B0=E6=8C=87=E5=
=AE=9A=E7=9A=84=E8=B7=AF=E7=94=B1=E8=A7=84=E5=88=99=E6=9C=AB=E5=B0=BE=E3=80=
=82
=E9=80=9A=E8=BF=87=E5=AF=B9=E8=B1=A1=E8=BF=9B=E8=A1=8C=E8=B7=AF=E7=94=B1=
=E6=B3=A8=E5=86=8C=E6=97=B6=EF=BC=8C=E5=8F=AF=E4=BB=A5=E6=A0=B9=E6=8D=AE=E5=
=AF=B9=E8=B1=A1=E5=8F=8A=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=E8=87=AA=E5=8A=
=A8=E7=94=9F=E6=88=90=E8=B7=AF=E7=94=B1=E8=A7=84=E5=88=99=EF=BC=8C=E9=BB=98=
=E8=AE=A4=E7=9A=84=E8=B7=AF=E7=94=B1=E8=A7=84=E5=88=99=E4=B8=BA=EF=BC=9A=E5=
=BD=93=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=E5=B8=A6=E6=9C=89=E5=A4=9A=E4=B8=
=AA=E5=8D=95=E8=AF=8D
=EF=BC=88=E6=8C=89=E7=85=A7=E5=AD=97=E7=
=AC=A6=E5=A4=A7=E5=86=99=E5=8C=BA=E5=88=86=E5=8D=95=E8=AF=8D=EF=BC=89=E6=97=
=B6=EF=BC=8C=E8=B7=AF=E7=94=B1=E6=8E=A7=E5=88=B6=E5=99=A8=E9=BB=98=E8=AE=A4=
=E4=BC=9A=E8=87=AA=E5=8A=A8=E4=BD=BF=E7=94=A8=E8=8B=B1=E6=96=87=E8=BF=9E=E6=
=8E=A5=E7=AC=A6=E5=8F=B7-
=E8=BF=9B=E8=A1=8C=E6=8B=BC=E6=8E=A5=
=EF=BC=8C=E5=9B=A0=E6=AD=A4=E8=AE=BF=E9=97=AE=E7=9A=84=E6=97=B6=E5=80=99=E6=
=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=E9=9C=80=E8=A6=81=E5=B8=A6-
=
=E5=8F=B7=E3=80=82
=E4=BE=8B=E5=A6=82=EF=BC=8C=E6=96=B9=E6=B3=95=E5=90=8D=E4=B8=BAUse=
rName
=E6=97=B6=EF=BC=8C=E7=94=9F=E6=88=90=E7=9A=84=E8=B7=AF=E7=94=B1=
=E4=B8=BAuser-name
=EF=BC=9B=E6=96=B9=E6=B3=95=E5=90=8D=E4=B8=
=BAShowListItems
=E6=97=B6=EF=BC=8C=E7=94=9F=E6=88=90=E7=9A=84=
=E8=B7=AF=E7=94=B1=E4=B8=BAshow-list-items
=EF=BC=9B=E4=BB=A5=
=E6=AD=A4=E7=B1=BB=E6=8E=A8=E3=80=82
=E6=AD=A4=E5=A4=96=EF=BC=8C=E6=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E9=80=9A=
=E8=BF=87.Server.SetNameToUriType
=E6=96=B9=E6=B3=95=E6=9D=A5=
=E8=AE=BE=E7=BD=AE=E5=AF=B9=E8=B1=A1=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=E7=
=9A=84=E8=B7=AF=E7=94=B1=E7=94=9F=E6=88=90=E6=96=B9=E5=BC=8F=E3=80=82=E6=94=
=AF=E6=8C=81=E7=9A=84=E6=96=B9=E5=BC=8F=E7=9B=AE=E5=89=8D=E6=9C=894=
code>=E7=A7=8D=EF=BC=8C=E5=AF=B9=E5=BA=94
4
=E4=B8=AA=E5=B8=B8=
=E9=87=8F=E5=AE=9A=E4=B9=89=EF=BC=9A
UriTypeDefault =3D 0 // =EF=BC= =88=E9=BB=98=E8=AE=A4=EF=BC=89=E5=85=A8=E9=83=A8=E8=BD=AC=E4=B8=BA=E5=B0=8F= =E5=86=99=EF=BC=8C=E5=8D=95=E8=AF=8D=E4=BB=A5'-'=E8=BF=9E=E6=8E=A5=E7=AC=A6= =E5=8F=B7=E8=BF=9E=E6=8E=A5 UriTypeFullName =3D 1 // =E4=B8=8D=E5=A4=84=E7=90=86=E5=90=8D=E7=A7=B0=EF= =BC=8C=E4=BB=A5=E5=8E=9F=E6=9C=89=E5=90=8D=E7=A7=B0=E6=9E=84=E5=BB=BA=E6=88= =90URI UriTypeAllLower =3D 2 // =E4=BB=85=E8=BD=AC=E4=B8=BA=E5=B0=8F=E5=86=99=EF= =BC=8C=E5=8D=95=E8=AF=8D=E9=97=B4=E4=B8=8D=E4=BD=BF=E7=94=A8=E8=BF=9E=E6=8E= =A5=E7=AC=A6=E5=8F=B7 UriTypeCamel =3D 3 // =E9=87=87=E7=94=A8=E9=A9=BC=E5=B3=B0=E5=91=BD=E5= =90=8D=E6=96=B9=E5=BC=8F
=E6=B3=A8=E6=84=8F=EF=BC=9A=E9=9C=80=E8=A6=81=E5=9C=A8=E9=80=9A=E8=BF=87= =E5=AF=B9=E8=B1=A1=E8=BF=9B=E8=A1=8C=E8=B7=AF=E7=94=B1=E6=B3=A8=E5=86=8C=E5= =89=8D=E8=BF=9B=E8=A1=8C=E8=AF=A5=E5=8F=82=E6=95=B0=E7=9A=84=E8=AE=BE=E7=BD= =AE=EF=BC=8C=E5=9C=A8=E8=B7=AF=E7=94=B1=E6=B3=A8=E5=86=8C=E5=90=8E=E8=AE=BE= =E7=BD=AE=E5=B0=86=E4=B8=8D=E4=BC=9A=E7=94=9F=E6=95=88=EF=BC=8C=E9=82=A3=E4= =B9=88=E5=B0=86=E4=BD=BF=E7=94=A8=E9=BB=98=E8=AE=A4=E8=A7=84=E5=88=99=E3=80= =82
=E6=88=91=E4=BB=AC=E6=9D=A5=E7=9C=8B=E4=B8=80=E4=B8=AA=E7=A4=BA=E4=BE=8B= =EF=BC=9A
package main import ( =09"github.com/gogf/gf/v2/frame/g" =09"github.com/gogf/gf/v2/net/ghttp" ) type User struct{} func (u *User) ShowList(r *ghttp.Request) { =09r.Response.Write("list") } func main() { =09u :=3D new(User) =09s1 :=3D g.Server("UriTypeDefault") =09s2 :=3D g.Server("UriTypeFullName") =09s3 :=3D g.Server("UriTypeAllLower") =09s4 :=3D g.Server("UriTypeCamel") =09s1.SetNameToUriType(ghttp.UriTypeDefault) =09s2.SetNameToUriType(ghttp.UriTypeFullName) =09s3.SetNameToUriType(ghttp.UriTypeAllLower) =09s4.SetNameToUriType(ghttp.UriTypeCamel) =09s1.BindObject("/{.struct}/{.method}", u) =09s2.BindObject("/{.struct}/{.method}", u) =09s3.BindObject("/{.struct}/{.method}", u) =09s4.BindObject("/{.struct}/{.method}", u) =09s1.SetPort(8100) =09s2.SetPort(8200) =09s3.SetPort(8300) =09s4.SetPort(8400) =09s1.Start() =09s2.Start() =09s3.Start() =09s4.Start() =09g.Wait() }
=E4=B8=BA=E4=BA=86=E5=AF=B9=E6=AF=94=E6=BC=94=E7=A4=BA=E6=95=88=E6=9E=9C=
=EF=BC=8C=E8=BF=99=E4=B8=AA=E7=A4=BA=E4=BE=8B=E9=87=87=E7=94=A8=E4=BA=86Ser=
ver
=E6=9D=A5=E9=85=8D=E7=BD=AE=E8=BF=90=E8=A1=8C=EF=BC=8C=E5=9B=A0=
=E6=AD=A4=E6=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E6=96=B9=E4=BE=BF=E5=9C=B0=E5=
=9C=A8=E5=90=8C=E4=B8=80=E4=B8=AA=E7=A8=8B=E5=BA=8F=E4=B8=AD=EF=BC=8C=E8=AE=
=BF=E9=97=AE=E4=B8=8D=E5=90=8C=E7=9A=84Server
=EF=BC=88=E9=80=
=9A=E8=BF=87=E4=B8=8D=E5=90=8C=E7=9A=84=E7=AB=AF=E5=8F=A3=E7=BB=91=E5=AE=9A=
=EF=BC=89=E7=9C=8B=E5=88=B0=E4=B8=8D=E5=90=8C=E7=9A=84=E7=BB=93=E6=9E=9C=E3=
=80=82
=E6=89=A7=E8=A1=8C=E5=90=8E=EF=BC=8C=E7=BB=88=E7=AB=AF=E8=BE=93=E5=87=BA= =E7=9A=84=E8=B7=AF=E7=94=B1=E8=A1=A8=E5=A6=82=E4=B8=8B=EF=BC=9A
SE= RVER | DOMAIN | ADDRESS | METHOD | ROUTE | HANDLER = | MIDDLEWARE =20 -----------------|---------|---------|--------|-----------------|----------= -------------|------------- UriTypeDefault | default | :8100 | ALL | /user/show-list | main.(*Us= er).ShowList | =20 -----------------|---------|---------|--------|-----------------|----------= -------------|------------- =20 SERVER | DOMAIN | ADDRESS | METHOD | ROUTE | HA= NDLER | MIDDLEWARE =20 ------------------|---------|---------|--------|----------------|----------= -------------|------------- UriTypeFullName | default | :8200 | ALL | /User/ShowList | main.(*Us= er).ShowList | =20 ------------------|---------|---------|--------|----------------|----------= -------------|------------- SERVER | DOMAIN | ADDRESS | METHOD | ROUTE | HA= NDLER | MIDDLEWARE =20 ------------------|---------|---------|--------|----------------|----------= -------------|------------- UriTypeAllLower | default | :8300 | ALL | /user/showlist | main.(*Us= er).ShowList | =20 ------------------|---------|---------|--------|----------------|----------= -------------|------------- =20 SERVER | DOMAIN | ADDRESS | METHOD | ROUTE | HANDL= ER | MIDDLEWARE =20 ---------------|---------|---------|--------|----------------|-------------= ----------|------------- UriTypeCamel | default | :8400 | ALL | /user/showList | main.(*User)= .ShowList | =20 ---------------|---------|---------|--------|----------------|-------------= ----------|-------------
=E5=8F=AF=E4=BB=A5=E5=88=86=E5=88=AB=E8=AE=BF=E9=97=AE=E4=BB=A5=E4=B8=8B=
URL
=E5=9C=B0=E5=9D=80=E5=BE=97=E5=88=B0=E6=9C=9F=E6=9C=9B=E7=
=9A=84=E7=BB=93=E6=9E=9C=EF=BC=9A
http://= 127.0.0.1:8100/user/show-list http://127.0.0.1:8200/User/ShowList http://127.0.0.1:8300/user/showlist http://127.0.0.1:8400/user/showList
=E5=81=87=E5=A6=82=E6=8E=A7=E5=88=B6=E5=99=A8=E4=B8=AD=E6=9C=89=E8=8B=A5=
=E5=B9=B2=E5=85=AC=E5=BC=80=E6=96=B9=E6=B3=95=EF=BC=8C=E4=BD=86=E6=98=AF=E6=
=88=91=E5=8F=AA=E6=83=B3=E6=B3=A8=E5=86=8C=E5=85=B6=E4=B8=AD=E5=87=A0=E4=B8=
=AA=EF=BC=8C=E5=85=B6=E4=BD=99=E7=9A=84=E6=96=B9=E6=B3=95=E6=88=91=E4=B8=8D=
=E6=83=B3=E5=AF=B9=E5=A4=96=E5=85=AC=E5=BC=80=EF=BC=8C=E6=80=8E=E4=B9=88=E5=
=8A=9E=EF=BC=9F=E6=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87=
BindObject
=E4=BC=A0=E9=80=92=E7=AC=AC=E4=B8=89=E4=B8=AA=E9=
=9D=9E=E5=BF=85=E9=9C=80=E5=8F=82=E6=95=B0=E6=9B=BF=E6=8D=A2=E5=AE=
=9E=E7=8E=B0=EF=BC=8C=E5=8F=82=E6=95=B0=E6=94=AF=E6=8C=81=E4=BC=A0=E5=85=A5=
=E5=A4=9A=E4=B8=AA=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=EF=
=BC=8C=E5=A4=9A=E4=B8=AA=E5=90=8D=E7=A7=B0=E4=BB=A5=E8=8B=B1=E6=96=87=
,
=E5=8F=B7=E5=88=86=E9=9A=94=EF=BC=88=E6=96=B9=E6=B3=95=E5=
=90=8D=E7=A7=B0=E5=8F=82=E6=95=B0=E5=8C=BA=E5=88=86=E5=A4=A7=E5=B0=8F=E5=86=
=99=EF=BC=89=E3=80=82
=E4=BD=BF=E7=94=A8=E7=A4=BA=E4=BE=8B=EF=BC=9A
package main import ( =09"github.com/gogf/gf/v2/frame/g" =09"github.com/gogf/gf/v2/net/ghttp" ) type Controller struct{} func (c *Controller) Index(r *ghttp.Request) { =09r.Response.Write("index") } func (c *Controller) Show(r *ghttp.Request) { =09r.Response.Write("show") } func main() { =09s :=3D g.Server() =09c :=3D new(Controller) =09s.BindObject("/object", c, "Show") =09s.SetPort(8199) =09s.Run() }
=E6=89=A7=E8=A1=8C=E5=90=8E=EF=BC=8C=E7=BB=88=E7=AB=AF=E8=BE=93=E5=87=BA= =E8=B7=AF=E7=94=B1=E8=A1=A8=E4=B8=BA=EF=BC=9A
SERVER = | DOMAIN | ADDRESS | METHOD | ROUTE | HANDLER | MID= DLEWARE |---------|---------|---------|--------|--------------|--------------------= -----|------------| default | default | :8199 | ALL | /object/show | main.(*Controller).= Show | |---------|---------|---------|--------|--------------|--------------------= -----|------------|
Bin=
dObjectMethod
=E6=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87BindObjectMe=
thod
=E6=96=B9=E6=B3=95=E7=BB=91=E5=AE=9A=E6=8C=87=E5=AE=9A=E7=9A=84=
=E8=B7=AF=E7=94=B1=E5=88=B0=E6=8C=87=E5=AE=9A=E7=9A=84=E6=96=B9=E6=B3=95=E6=
=89=A7=E8=A1=8C=EF=BC=88=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=E5=8F=
=82=E6=95=B0=E5=8C=BA=E5=88=86=E5=A4=A7=E5=B0=8F=E5=86=99=EF=BC=89=
=E3=80=82
BindObjectMethod
=E5=92=8CBindObject
=E7=9A=84=
=E5=8C=BA=E5=88=AB=EF=BC=9ABindObjectMethod
=E5=B0=86=E5=AF=B9=
=E8=B1=A1=E4=B8=AD=E7=9A=84=E6=8C=87=E5=AE=9A=E6=96=B9=E6=B3=95=E4=B8=8E=E6=
=8C=87=E5=AE=9A=E8=B7=AF=E7=94=B1=E8=A7=84=E5=88=99=E8=BF=9B=E8=A1=8C=E7=BB=
=91=E5=AE=9A=EF=BC=8C=E7=AC=AC=E4=B8=89=E4=B8=AAmethod
=E5=8F=
=82=E6=95=B0=E5=8F=AA=E8=83=BD=E6=8C=87=E5=AE=9A=E4=B8=80=E4=B8=AA=E6=96=B9=
=E6=B3=95=E5=90=8D=E7=A7=B0=EF=BC=9BBindObject
=E6=B3=A8=E5=86=
=8C=E6=97=B6=EF=BC=8C=E6=89=80=E6=9C=89=E7=9A=84=E8=B7=AF=E7=94=B1=E9=83=BD=
=E6=98=AF=E5=AF=B9=E8=B1=A1=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=E6=8C=89=E7=
=85=A7=E8=A7=84=E5=88=99=E7=94=9F=E6=88=90=E7=9A=84=EF=BC=8C=E7=AC=AC=E4=B8=
=89=E4=B8=AAmethods
=E5=8F=82=E6=95=B0=E5=8F=AF=E4=BB=A5=E6=8C=
=87=E5=AE=9A=E5=A4=9A=E4=B8=AA=E6=B3=A8=E5=86=8C=E7=9A=84=E6=96=B9=E6=B3=95=
=E5=90=8D=E7=A7=B0=E3=80=82
=E6=9D=A5=E7=9C=8B=E4=B8=80=E4=B8=AA=E4=BE=8B=E5=AD=90=EF=BC=9A
package main import ( =09"github.com/gogf/gf/v2/frame/g" =09"github.com/gogf/gf/v2/net/ghttp" ) type Controller struct{} func (c *Controller) Index(r *ghttp.Request) { =09r.Response.Write("index") } func (c *Controller) Show(r *ghttp.Request) { =09r.Response.Write("show") } func main() { =09s :=3D g.Server() =09c :=3D new(Controller) =09s.BindObjectMethod("/show", c, "Show") =09s.SetPort(8199) =09s.Run() }
=E6=89=A7=E8=A1=8C=E5=90=8E=EF=BC=8C=E7=BB=88=E7=AB=AF=E8=BE=93=E5=87=BA= =E7=9A=84=E8=B7=AF=E7=94=B1=E8=A1=A8=E5=A6=82=E4=B8=8B=EF=BC=9A
SERVER = | DOMAIN | ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE |---------|---------|---------|--------|-------|-------------------------|-= -----------| default | default | :8199 | ALL | /show | main.(*Controller).Show | |---------|---------|---------|--------|-------|-------------------------|-= -----------|
BindObjectRest=
RESTful
=E8=AE=BE=E8=AE=A1=E6=96=B9=E5=BC=8F=E7=9A=84=E6=8E=
=A7=E5=88=B6=E5=99=A8=EF=BC=8C=E9=80=9A=E5=B8=B8=E7=94=A8=E4=BA=8EAPI=
=E6=9C=8D=E5=8A=A1=E3=80=82=E5=9C=A8=E8=BF=99=E7=A7=8D=E6=A8=
=A1=E5=BC=8F=E4=B8=8B=EF=BC=8CHTTP
=E7=9A=84Method
=
=E5=B0=86=E4=BC=9A=E6=98=A0=E5=B0=84=E5=88=B0=E6=8E=A7=E5=88=B6=E5=99=A8=E5=
=AF=B9=E5=BA=94=E7=9A=84=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=EF=BC=
=8C=E4=BE=8B=E5=A6=82=EF=BC=9APOST
=E6=96=B9=E5=BC=8F=E5=B0=86=
=E4=BC=9A=E6=98=A0=E5=B0=84=E5=88=B0=E6=8E=A7=E5=88=B6=E5=99=A8=E7=9A=84DE=
LETE
=E6=96=B9=E5=BC=8F=E5=B0=86=E4=BC=9A=E6=98=A0=E5=B0=84=E5=88=B0=
=E6=8E=A7=E5=88=B6=E5=99=A8=E7=9A=84Delete
=E6=96=B9=E6=B3=95=
=E4=B8=AD=EF=BC=8C=E4=BB=A5=E6=AD=A4=E7=B1=BB=E6=8E=A8=E3=80=82=E5=85=B6=E4=
=BB=96=E9=9D=9EHTTP Method
=E5=91=BD=E5=90=8D=E7=9A=84=E6=96=B9=
=E6=B3=95=EF=BC=8C=E5=8D=B3=E4=BD=BF=E6=98=AF=E5=AE=9A=E4=B9=89=E7=9A=84=E5=
=8C=85=E5=85=AC=E5=BC=80=E6=96=B9=E6=B3=95=EF=BC=8C=E5=B0=86=E4=B8=8D=E4=BC=
=9A=E8=87=AA=E5=8A=A8=E6=B3=A8=E5=86=8C=EF=BC=8C=E5=AF=B9=E4=BA=8E=E5=BA=94=
=E7=94=A8=E7=AB=AF=E4=B8=8D=E5=8F=AF=E8=A7=81=E3=80=82=E5=BD=93=E7=84=B6=EF=
=BC=8C=E5=A6=82=E6=9E=9C=E6=8E=A7=E5=88=B6=E5=99=A8=E5=B9=B6=E6=9C=AA=E5=AE=
=9A=E4=B9=89=E5=AF=B9=E5=BA=94HTTP Method
=E7=9A=84=E6=96=B9=E6=
=B3=95=EF=BC=8C=E8=AF=A5Method
=E8=AF=B7=E6=B1=82=E4=B8=8B=E5=
=B0=86=E4=BC=9A=E8=BF=94=E5=9B=9E HTTP Status 404
=E3=80=82
GoFrame
=E7=9A=84=E8=BF=99=E7=A7=8DRESTful
=E5=
=AF=B9=E8=B1=A1=E6=B3=A8=E5=86=8C=E6=96=B9=E5=BC=8F=E6=98=AF=E4=B8=80=E7=A7=
=8D=E4=B8=A5=E6=A0=BC=E7=9A=84REST
=E8=B7=AF=E7=94=B1=E6=B3=A8=
=E5=86=8C=E6=96=B9=E5=BC=8F=EF=BC=8C=E6=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E5=
=B0=86=E6=8E=A7=E5=88=B6=E5=99=A8=E7=9A=84=E5=AF=B9=E8=B1=A1=E7=9C=8B=E5=81=
=9AREST
=E4=B8=AD=E7=9A=84=E8=B5=84=E6=BA=90=EF=BC=8C=E8=80=8C=
=E5=85=B6=E4=B8=AD=E7=9A=84HTTP Method
=E6=96=B9=E6=B3=95=E5=8D=
=B3=E4=B8=BAREST
=E8=A7=84=E8=8C=83=E7=9A=84=E8=B5=84=E6=BA=90=
=E6=93=8D=E4=BD=9C=E6=96=B9=E6=B3=95=E3=80=82=E5=A6=82=E6=9E=9C=E5=A4=A7=E5=
=AE=B6=E4=B8=8D=E5=A4=AA=E7=86=9F=E6=82=89REST
=E8=A7=84=E8=8C=
=83=EF=BC=8C=E6=88=96=E8=80=85=E4=B8=8D=E6=83=B3=E5=A4=AA=E8=BF=87=E4=B8=A5=
=E6=A0=BC=E7=9A=84RESTful
=E8=B7=AF=E7=94=B1=E8=AE=BE=E8=AE=A1=
=EF=BC=8C=E9=82=A3=E4=B9=88=E8=AF=B7=E5=BF=BD=E7=95=A5=E8=AF=A5=E7=AB=A0=E8=
=8A=82=E3=80=82
=E6=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87BindObjectRe=
st
=E6=96=B9=E6=B3=95=E5=AE=8C=E6=88=90REST
=E5=AF=B9=E8=
=B1=A1=E7=9A=84=E6=B3=A8=E5=86=8C=EF=BC=8C=E7=A4=BA=E4=BE=8B=EF=BC=9A
package main import ( =09"github.com/gogf/gf/v2/frame/g" =09"github.com/gogf/gf/v2/net/ghttp" ) type Controller struct{} // RESTFul - GET func (c *Controller) Get(r *ghttp.Request) { =09r.Response.Write("GET") } // RESTFul - POST func (c *Controller) Post(r *ghttp.Request) { =09r.Response.Write("POST") } // RESTFul - DELETE func (c *Controller) Delete(r *ghttp.Request) { =09r.Response.Write("DELETE") } // =E8=AF=A5=E6=96=B9=E6=B3=95=E6=97=A0=E6=B3=95=E6=98=A0=E5=B0=84=EF=BC=8C= =E5=B0=86=E4=BC=9A=E6=97=A0=E6=B3=95=E8=AE=BF=E9=97=AE=E5=88=B0 func (c *Controller) Hello(r *ghttp.Request) { =09r.Response.Write("Hello") } func main() { =09s :=3D g.Server() =09c :=3D new(Controller) =09s.BindObjectRest("/object", c) =09s.SetPort(8199) =09s.Run() }
=E6=89=A7=E8=A1=8C=E5=90=8E=EF=BC=8C=E7=BB=88=E7=AB=AF=E8=BE=93=E5=87=BA= =E8=B7=AF=E7=94=B1=E8=A1=A8=E5=A6=82=E4=B8=8B;
SERVER = | DOMAIN | ADDRESS | METHOD | ROUTE | HANDLER | MIDDLE= WARE |---------|---------|---------|--------|---------|-------------------------= --|------------| default | default | :8199 | DELETE | /object | main.(*Controller).Delet= e | |---------|---------|---------|--------|---------|-------------------------= --|------------| default | default | :8199 | GET | /object | main.(*Controller).Get = | |---------|---------|---------|--------|---------|-------------------------= --|------------| default | default | :8199 | POST | /object | main.(*Controller).Post = | |---------|---------|---------|--------|---------|-------------------------= --|------------|
Ini=
t
=E4=B8=8E=E6=9E=90=E6=9E=84=E6=96=B9=E6=B3=95Shut
=E5=AF=B9=E8=B1=A1=E4=B8=AD=E7=9A=84Init
=E5=92=8CShut=
=E6=98=AF=E4=B8=A4=E4=B8=AA=E5=9C=A8HTTP
=E8=AF=B7=E6=B1=
=82=E6=B5=81=E7=A8=8B=E4=B8=AD=E8=A2=ABServer
=E8=87=AA=E5=8A=
=A8=E8=B0=83=E7=94=A8=E7=9A=84=E7=89=B9=E6=AE=8A=E6=96=B9=E6=B3=95=EF=BC=88=
=E7=B1=BB=E4=BC=BC=E6=9E=84=E9=80=A0=E5=87=BD=E6=95=B0
=E5=92=
=8C=E6=9E=90=E6=9E=84=E5=87=BD=E6=95=B0
=E7=9A=84=E4=BD=9C=E7=
=94=A8=EF=BC=89=E3=80=82
Init
=E5=9B=9E=E8=B0=83=E6=96=B9=E6=B3=95
=E5=AF= =B9=E8=B1=A1=E6=94=B6=E5=88=B0=E8=AF=B7=E6=B1=82=E6=97=B6=E7=9A=84=E5=88=9D= =E5=A7=8B=E5=8C=96=E6=96=B9=E6=B3=95=EF=BC=8C=E5=9C=A8=E6=9C=8D=E5=8A=A1=E6= =8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8=E4=B9=8B=E5=89=8D=E8=A2=AB=E5=9B=9E=E8=B0= =83=E6=89=A7=E8=A1=8C=E3=80=82
=E6=96=B9=E6=B3=95=E5=AE=9A=E4=B9=89= =EF=BC=9A
// "=E6=9E=84=E9=80=A0=E5=87=BD= =E6=95=B0"=E5=AF=B9=E8=B1=A1=E6=96=B9=E6=B3=95 func (c *Controller) Init(r *ghttp.Request) { }
Shut
=E5=9B=9E=E8=B0=83=E6=96=B9=E6=B3=95
=E5=BD=
=93=E8=AF=B7=E6=B1=82=E7=BB=93=E6=9D=9F=E6=97=B6=E8=A2=ABServer
=E8=87=AA=E5=8A=A8=E8=B0=83=E7=94=A8=EF=BC=8C=E5=8F=AF=E4=BB=A5=E7=94=A8=
=E4=BA=8E=E5=AF=B9=E8=B1=A1=E6=89=A7=E8=A1=8C=E4=B8=80=E4=BA=9B=E6=94=B6=E5=
=B0=BE=E5=A4=84=E7=90=86=E7=9A=84=E6=93=8D=E4=BD=9C=E3=80=82
=E6=96= =B9=E6=B3=95=E5=AE=9A=E4=B9=89=EF=BC=9A
// "=E6=9E=90=E6=9E=84=E5=87=BD= =E6=95=B0"=E5=AF=B9=E8=B1=A1=E6=96=B9=E6=B3=95 func (c *Controller) Shut(r *ghttp.Request) { }
=E4=B8=BE=E4=B8=AA=E4=BE=8B=E5=AD=90=EF=BC=9A
package main import ( =09"github.com/gogf/gf/v2/frame/g" =09"github.com/gogf/gf/v2/net/ghttp" ) type Controller struct{} func (c *Controller) Init(r *ghttp.Request) { =09r.Response.Writeln("Init") } func (c *Controller) Shut(r *ghttp.Request) { =09r.Response.Writeln("Shut") } func (c *Controller) Hello(r *ghttp.Request) { =09r.Response.Writeln("Hello") } func main() { =09s :=3D g.Server() =09c :=3D new(Controller) =09s.BindObject("/object", c) =09s.SetPort(8199) =09s.Run() }
=E6=89=A7=E8=A1=8C=E5=90=8E=EF=BC=8C=E7=BB=88=E7=AB=AF=E8=BE=93=E5=87=BA= =E8=B7=AF=E7=94=B1=E8=A1=A8=E5=A6=82=E4=B8=8B=EF=BC=9A
SERVER = | DOMAIN | ADDRESS | METHOD | ROUTE | HANDLER | M= IDDLEWARE |---------|---------|---------|--------|---------------|-------------------= -------|------------| default | default | :8199 | ALL | /object/hello | main.(*Controller)= .Hello | |---------|---------|---------|--------|---------------|-------------------= -------|------------|
=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=88=B0=EF=BC=8C=E5=B9=B6=E6=B2=A1=E6=9C=89=
=E8=87=AA=E5=8A=A8=E6=B3=A8=E5=86=8CInit
=E5=92=8CShut=E8=BF=99=E4=B8=A4=E4=B8=AA=E6=96=B9=E6=B3=95=E7=9A=84=E8=B7=AF=E7=94=
=B1=EF=BC=8C=E6=88=91=E4=BB=AC=E8=AE=BF=E9=97=AE http://127.0.=
0.1:8199/object/hello =E5=90=8E=EF=BC=8C=E8=BE=93=E5=87=BA=E7=BB=93=E6=
=9E=9C=E4=B8=BA=EF=BC=9A
Init Hello Shut