java - Spring RequestMapping URL with hierarchal values -
lets have category
domain model object follows file tree structure. want able build requestmapping
annotation controller method that
/category/art/macros /category/people/weddings/2014/5-19 /category/sports/college/baseball/2014/5-19
can handled minimum number of controller methods.
i have 1 controller method defined:
@requestmapping(value ={"/category/{category}"}, method = requestmethod.get) public string admincategory(modelmap model, @pathvariable(value = "category") string category){ model.addattribute("message", category); homecoming "gallery"; }
this works single url
/category/sports
how can adapt more flexible?
the challenge here can't create @pathvariable optional can have 2 or more controller methods can phone call same service code. so, 3 url patterns have define 3 different controllers:
get: /category/art/macros @requestmapping(value ={"/category/{category}"}, method = requestmethod.get) public string admincategory(modelmap model, @pathvariable(value = "category") string category){ model.addattribute("message", category); homecoming "gallery"; } get: /category/people/weddings/2014/5-19 @requestmapping(value ={"/category/{category}/{subcategory}/{year}/{date}"}, method = requestmethod.get) public string admincategory(modelmap model, @pathvariable(value = "category") string category, @pathvariable(value = "subcategory") string subcategory, @pathvariable(value = "year") string year, @pathvariable(value = "date") string date ){ model.addattribute("message", category, subcategory, year, date); homecoming "gallery"; } get: /category/sports/college/baseball/2014/5-19 @requestmapping(value ={"/category/{category}/{subcategory}/{year}/{date}"}, method = requestmethod.get) public string admincategory(modelmap model, @pathvariable(value = "category") string category, @pathvariable(value = "subcategory") string subcategory, @pathvariable(value = "sub_sub_category") string sub_sub_category, @pathvariable(value = "year") string year, @pathvariable(value = "date") string date ){ model.addattribute("message", category, subcategory, sub_sub_category, year, date); homecoming "gallery"; }
ps can user @requestparam can optional , cut down number of controllers.
java spring
No comments:
Post a Comment