是否有一种方法来定义路由在一个YAML文件的Spring项目?



我最近一直在使用Symfony,我真的很喜欢在routing.yml文件中定义路由的能力。我正在研究Spring的路由系统,除了在控制器方法的注释中放置路由之外,我找不到任何其他选项。有可能在春季完成这样的事情吗?

我的第一个想法是创建一个抽象控制器,从.yml文件中抓取路由,但这似乎有点黑客。

编辑:

对于一些添加的上下文,我希望用Spring构建一个简单的数据库API。经过一番挖掘,看起来routing.yml文件最适合使用服务器渲染的页面,这是而不是我的目标是做我的Spring项目。

Symfony和Spring是不同的框架。你习惯了一种用法,想在另一个完全不同的系统中使用相同的用法。这是行不通的。你必须适应框架。

Spring将扫描您的项目并收集您的特定注释,如Controller/Component/Configuration/…并自我配置。因此,不需要预定义的项目结构,例如,不像Laravel。如果你想的话,你可以定义这个结构。或者每个类都可以在一个包中,只是不美观。

返回路由。您只能通过注释的值来配置它们。这是在编译时解释的。(Ofc,有运行时注释,但我关注的是注释的参数。)因此,您不能使用文件中的配置,因为它已经是运行时了。因此,您应该使用常量或硬编码。

或者,您可以使用另一种选择:注释接口,然后控制器将成为实现。

备选方案#2:如果您使用Spring和Kotlin,在Kotlin中,您可以在一个文件中包含多个类或接口。

最新更新