iris/_examples/mvc/basic/wildcard/main.go
Gerasimos (Makis) Maropoulos 409f83ca66 ℹ️ add mvc 'ByWildcard' example as requested at #1459
Although, we already had a usage of this as a test at mvc/controller_test.go#testControllerRelPathFromFunc


Former-commit-id: 66343933aa86750615ab89767f149f6636d03be7
2020-03-02 20:11:44 +02:00

42 lines
904 B
Go

package main
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/mvc"
)
func main() {
app := iris.New()
usersRouter := app.Party("/users")
mvc.New(usersRouter).Handle(new(myController))
// Same as:
// usersRouter.Get("/{p:path}", func(ctx iris.Context) {
// wildcardPathParameter := ctx.Params().Get("p")
// ctx.JSON(response{
// Message: "The path parameter is: " + wildcardPathParameter,
// })
// })
/*
curl --location --request GET 'http://localhost:8080/users/path_segment_1/path_segment_2'
Expected Output:
{
"message": "The wildcard is: path_segment_1/path_segment_2"
}
*/
app.Listen(":8080")
}
type myController struct{}
type response struct {
Message string `json:"message"`
}
func (c *myController) GetByWildcard(wildcardPathParameter string) response {
return response{
Message: "The path parameter is: " + wildcardPathParameter,
}
}