gpt4 book ai didi

spring-boot - 将服务传递给 thymeleaf 模板是不好的做法吗?

转载 作者:行者123 更新时间:2023-12-04 10:03:32 25 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,它依赖于一些非常复杂的逻辑来确定用户是否有权执行某些操作。但是在渲染我的模板时,我必须根据这些权限决定是否显示某些 UI 元素,目前我唯一的方法是传递无数 mayUserDo... View 模型的属性。

改为传递 UserPermissionsService 会容易得多。到我的模型,并通过从该服务调用方法来在模板中执行那些简单的检查,从而避免大量冗余变量 float 的困惑。

所以我的问题是:这是一个可以接受的解决方案吗?如果没有,为什么不呢?

最佳答案

我认为从 thymeleaf 模板调用服务是一种不好的做法。

模板工作是显示数据。您在模板中放入的逻辑越多,模板就越难理解和维护。

还要考虑测试:如果您的 Service 返回一个包含所有字段的 DTO 用于一个用例,您可以轻松地一次测试此对象的完整性和正确性,而不是测试具有相同要求的每个方法并且没有涵盖的方法之间的关系.

为了解决您的问题,您可以考虑将模板分解成更小的部分并将它们连接在一起。例如。可以提取保持不变的标题。如果您有一个“正面”和一个“负面”案例决定了对多个字段的访问,那么这部分也可以提取到一个较小的模板中。

关于spring-boot - 将服务传递给 thymeleaf 模板是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61709320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com