views:

93

answers:

1

I can't find a solution to this, and it's driving me crazy. I have @Controller mapped that responds to several methods using @RequestMapping. I'd like to tag one of those methods as default when nothing more specific is specified. For example:

@Controller
@RequestMapping("/user/*")
public class UserController {

   @RequestMapping("login")
   public String login( MapModel model ) {}

   @RequestMapping("logout")
   public String logout( MapModel model ) {}

   @RequestMapping("authenticate")
   public String authenticate( MapModel model ) {}
}

So /user/login -> login method, /user/logout -> logout, etc. I'd like to make it so that if someone goes to /user then it routes to one of these methods. However, I don't see anything on @RequestMapping that would allow me to specify one of these methods as a default handler. I also don't see any other annotations that might be used on the class either to do this. I'm beginning to suspect it doesn't exist.

I'm using Spring 2.5.6. Is this solved in 3.0.0? I might just hack Spring to make it work because it's tremendously annoying this isn't more straightforward.

Thanks in Advance.

+1  A: 

Take a look at this answer:

Spring MVC and annotated controllers issue

What if you annotate a method with:

@RequestMapping(method = RequestMethod.GET)

You can see an example here:

Spring 3.0 MVC + Hibernate : Simplified with Annotations – Tutorial

The same behavior can be seen here:

Spring Framework 3.0 MVC by Aaron Schram (look at page 21)

Leniel Macaferi
By annotating with @RequestMapping(method=RequestMethod.GET) on one method it worked. Thanks. However, the first link wasn't the same problem and wasn't applicable. The other links were more helpful.
chubbard