【问题标题】:Spring Boot @RequestMapping InheritanceSpring Boot @RequestMapping 继承
【发布时间】:2016-12-12 19:05:32
【问题描述】:

因为我需要提供两个 API,其中控制器在大多数情况下都非常相似,因此我想使用抽象控制器和子控制器来实现如下路由:

/sym/产品
/前端/产品

“符号”或“前端”部分应由抽象超类(控制器)生成,例如

@RestController
@CrossOrigin
@RequestMapping("sym")
public abstract class SymphonyBaseController {}

@RestController
@CrossOrigin
@RequestMapping("frontend")
public abstract class FrontendBaseController {}

所以我可以这样做:

@RestController
@CrossOrigin
@RequestMapping("products")
public class ProductController extends SymphonyBaseController {}

顺便说一句:当在超类中注释时,子类中的这些注释(@RestController 和@CrossOrigin)是否仍然必要?)

我的问题: 路线未注册。我只有一条路线:/products

如何解决这个问题?

非常感谢您的帮助! 提前致谢,

提姆

【问题讨论】:

    标签: java spring rest inheritance request-mapping


    【解决方案1】:

    子类上完全相同的参数覆盖的值,它们不会累积。控制器 methods 上的路径参数被附加到类上定义的任何映射(例如,如果您愿意,您可以将 /products 放在抽象方法上),但您需要指定完整的基本路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-13
      • 2019-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 2019-04-06
      • 2017-10-10
      相关资源
      最近更新 更多