Comments (4)
Yep -
books := web.New()
goji.Handle("/books/*", books)
books.Get("/books/:id", GetBooks)
books.Post("/books/new", NewBook)
...
books.Use(SomeMiddleware)
...
goji.Get("/", ShowIndex)
goji.Serve()
Excuse the formatting (not near a computer).
Make sure you specify the full route in your sub-routes i.e. "/books/:id"
and not just "/:id" as per above.
A sub-router in this context has no default middleware applied so you will
need to call books.Use to add request logging, etc.
hope that helps.
On Friday, June 27, 2014, Vadim [email protected] wrote:
Hi,
Is there a way to define route groups similar to Martini?
m.Group("/books", func(r martini.Router) {
r.Get("/:id", GetBooks)
r.Post("/new", NewBook)
r.Put("/update/:id", UpdateBook)
r.Delete("/delete/:id", DeleteBook)})By the way, goji looks really great!
—
Reply to this email directly or view it on GitHub
#37.
from goji.
Thanks, that's almost what I was looking for. It also would be nice not to specify "/books/" in every route.
from goji.
@elithrar The middleware from the main router are still applied, so you'll still get request logging, etc. You'll even keep the same environment across the two Muxes!
@vadimi As always, the standard library saves the day: http://golang.org/pkg/net/http/#StripPrefix :)
(The behavior of the trailing "*" in string routes is always something that's struck me as a bit suspect. For instance, it might be nice to bind the "tail" to a variable, for instance. Unfortunately I haven't gotten around to figuring out what I want to do here, but I'd appreciate any thoughts you have as you use it!)
from goji.
@zenazn StripPrefix
worked perfectly fine. Thanks a lot.
from goji.
Related Issues (20)
- Use different middleware for different routes with App Engine HOT 2
- Data race when goroutines using context.Context outlive the http request HOT 2
- TLS from http.Request is nil HOT 8
- Post method with multipart/form-data encoding not work HOT 3
- returned 404 error when load js file HOT 1
- Document zenazn/goji vs goji/goji HOT 1
- wrapping HandlerType HOT 4
- Question: how to set timeout on HTTP requests HOT 8
- goji routing with react-router HOT 5
- Headers matching HOT 4
- Update ReadMe HOT 1
- Question: per-endpoint middleware HOT 5
- Does Goji 2 have Einhorn support? HOT 1
- How to use goji.ServeTLS() HOT 1
- How do I can change a variable with go command line? HOT 1
- SubRouter unexpected 404 HOT 4
- tag "v1.0" is a invalid module version HOT 5
- func Serve() have no options to disable log rquest HOT 1
- TLS context is not added to request HOT 2
- zenazn/goji or goji/goji ? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from goji.