You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过继承实现多个Spring Controller共享基础@RequestMapping路径?

能否通过继承为多个Controller设置统一的基础请求路径?

当然可以通过继承实现这个需求,这样能避免在每个Controller上重复添加相同的@RestController和@RequestMapping("/extranet")注解,减少冗余代码。

具体实现方式

  1. 先创建一个基础父类Controller,把通用的注解统一放在这个类上:
@RestController
@RequestMapping("/extranet")
public class BaseExtranetController {
    // 这里可以存放所有子类共享的方法或属性,比如通用日志处理、公共工具方法等
}
  1. 让各个业务Controller直接继承这个父类,无需再重复添加基础路径相关注解:
public class BillingController extends BaseExtranetController {

    @GetMapping("/billing")
    public String getBilling() {
        return "Hi From billing!!";
    }
}
public class PublicationController extends BaseExtranetController {

    @GetMapping("/publication")
    public String getPublication() {
        return "Hi From publication!!";
    }
}

这样配置后,BillingController的接口路径依然是/extranet/billing,PublicationController的接口路径依然是/extranet/publication,和原实现效果完全一致。后续如果需要修改基础路径,只需要修改父类的@RequestMapping值,所有子类都会自动同步变更。

内容的提问来源于stack exchange,提问作者robert trudel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 08:00:58