2017-08-04 79 views
0

我需要创建使用Spring我的网站在全球范围内可选的路径变量,所以同一个控制器可以处理与URL的一个要求,是春季全球范围内可选路径变量

https://website.com/something 

https://website.com/something/5 

,我设法做这样

@RequestMapping("/something") 
public class SomethingController { 

    @RequestMapping(value = {"", "/{id}) //<-- important line here 
    public Model something([...]) { 
    return [...] 

但是,让我们说,我有50个控制在我的应用程序中,我不想修改它们中的每一个。有没有更简单的方法来完成我所需要的? (应用程序范围或控制器类范围)

回答

0

您可以尝试从使用@RequestMapping注释的基本控制器扩展此控制器(不太灵活),或者您可以尝试像装饰器模式这样的设计模式。 https://www.tutorialspoint.com/design_pattern/decorator_pattern.htm

+0

林不知道我是否正确理解你,但这对我没有多大意义。假设我会使用装饰器模式,我仍然必须重写每个由@ @ RequestMapping注释的方法。你能向我解释一下你的想法吗? –

+0

对不起,我提示装饰模式是错误的。它不适合在这里。 – GarRudo

+0

分类你似乎是一个解决方案atm。检查这个https://github.com/spring-projects/spring-boot/issues/4994 – GarRudo