在 Spring SimpleFormController 中使用业务对象作为 formBackingObjects 的设计问题。
我们的控制器的职责是允许最终用户向我们的 Web 应用程序添加新的业务对象。
所以我们通过 formBackingObject(HttpServletRequest request) 方法传递我们的业务对象。然而,我们遇到了一个难题。
我们用来创建新业务对象的工厂强制执行某些属性不能为空的业务规则。但是由于我们不知道最终用户想要输入什么,我们一直在传递“合理的默认值”,比如“请输入你想要的名称”,但这似乎充其量是 hackie/icky。
开发人员要做什么?我觉得这好像是经典的鸡/蛋问题。
我们所有的业务对象都是基于接口的,我们是否应该创建一个代表业务对象的存根,将存根作为 formBackingObject 传递,然后在表单提交时将存根传递给工厂?或者我们不应该在 formBackingObject 中传递任何东西,然后从请求中手动收集提交的信息?
还有其他合理的想法/模式吗?
感谢您的时间。