使用Spring禁用控制器端点

时间:2015-05-27 19:41:58

标签: java spring spring-mvc

假设我有一个Spring MVC Controller,如下所示:

@Controller
public class MyController {

    @RequestMapping(value = "/doSomething", method = RequestMethod.POST)
    public @ResponseBody JSONObject doSomething() {
    //...
    }

    @RequestMapping(value = "/doOtherThing", method = RequestMethod.POST)
    public @ResponseBody JSONObject doOtherThing() {
    //...
    }
}

有没有办法,使用其他配置的Spring XML文件来禁用该控制器的一个端点?例如,禁用/ doSomething并保持/ doOtherThing启用?

我问的原因是因为我需要添加两个不同版本的组件(jar),它有一个带有多个端点的控制器,但是我需要在jar 1.0中禁用doSomething并在jar 2.0上使用doSomething。 / p>

1 个答案:

答案 0 :(得分:0)

你可以使用过滤器...... 配置一个对象,其中每个实例都是控制器中存在的受限映射。现在说你想要防止" www.someaddress.com/yourapp/finalMapping" ;,添加一个类型为DisabledUrl的对象,id字段为完整的映射。定义一个存储库或平均值供您查询此类表格,并且可以查看。并且,你可以在运行时限制对资源的访问..更好的方法是在eh-cache中保留"禁用"映射并避免为每个请求查询数据库,但是让我们说这是一个粗略的解决方案..

Parser