mirror of
https://github.com/kataras/iris.git
synced 2025-01-24 03:01:03 +01:00
19e9ed330d
Former-commit-id: 6c53190e40fa42d242a73eb80361830b65f0d077
68 lines
1.2 KiB
Go
68 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/kataras/iris"
|
|
"github.com/kataras/iris/hero"
|
|
)
|
|
|
|
func main() {
|
|
|
|
app := iris.New()
|
|
|
|
// 1
|
|
helloHandler := hero.Handler(hello)
|
|
app.Get("/{to:string}", helloHandler)
|
|
|
|
// 2
|
|
hero.Register(&myTestService{
|
|
prefix: "Service: Hello",
|
|
})
|
|
|
|
helloServiceHandler := hero.Handler(helloService)
|
|
app.Get("/service/{to:string}", helloServiceHandler)
|
|
|
|
// 3
|
|
hero.Register(func(ctx iris.Context) (form LoginForm) {
|
|
// it binds the "form" with a
|
|
// x-www-form-urlencoded form data and returns it.
|
|
ctx.ReadForm(&form)
|
|
return
|
|
})
|
|
|
|
loginHandler := hero.Handler(login)
|
|
app.Post("/login", loginHandler)
|
|
|
|
// http://localhost:8080/your_name
|
|
// http://localhost:8080/service/your_name
|
|
app.Run(iris.Addr(":8080"))
|
|
}
|
|
|
|
func hello(to string) string {
|
|
return "Hello " + to
|
|
}
|
|
|
|
type Service interface {
|
|
SayHello(to string) string
|
|
}
|
|
|
|
type myTestService struct {
|
|
prefix string
|
|
}
|
|
|
|
func (s *myTestService) SayHello(to string) string {
|
|
return s.prefix + " " + to
|
|
}
|
|
|
|
func helloService(to string, service Service) string {
|
|
return service.SayHello(to)
|
|
}
|
|
|
|
type LoginForm struct {
|
|
Username string `form:"username"`
|
|
Password string `form:"password"`
|
|
}
|
|
|
|
func login(form LoginForm) string {
|
|
return "Hello " + form.Username
|
|
}
|