【发布时间】:2020-11-28 02:50:07
【问题描述】:
我想创建一个休息终点,但我不确定什么是正确的方法。例如,我想公开端点以创建帐户,但有多种帐户类型,例如:
普通帐户,包含财产名称、描述和当前余额
信用卡帐户,包含财产名称、描述、当前余额、宽限期、账单日期和当前未结余额。现在的困惑是,我应该为每种帐户类型创建两个端点吗?还是我应该使用所有属性创建一个端点。
【问题讨论】:
我想创建一个休息终点,但我不确定什么是正确的方法。例如,我想公开端点以创建帐户,但有多种帐户类型,例如:
普通帐户,包含财产名称、描述和当前余额
信用卡帐户,包含财产名称、描述、当前余额、宽限期、账单日期和当前未结余额。现在的困惑是,我应该为每种帐户类型创建两个端点吗?还是我应该使用所有属性创建一个端点。
【问题讨论】:
我应该为每种帐户类型创建两个端点吗?还是我应该使用所有属性创建一个端点。
你会如何在网站上做到这一点?
您可能只有一个create-account 表单;您从访问者那里收集您需要的信息,将表单提交到服务器,服务器查看表单详细信息以确定要创建什么样的帐户。创建帐户,并向浏览器发回一个响应,告知描述该帐户的网页所在的位置。这很好。
您可以对多个表单执行相同的操作;通过一系列链接将访问者引导到最适合他们情况的表单,然后剩下的工作与上面相同 - 表单提交,服务器查看表单详细信息以确定要创建的帐户,帐户创建后,服务器将响应发送回浏览器,告知描述帐户的网页所在的位置。这也很好。
您可以对多个表单执行相同的操作,但让每个表单使用不同的目标 URI 提交;您甚至可以将每个表单提交给不同的主机!同样,接收表单的主机所采取的操作是相同的 - 完成工作,返回宣布新网页所在位置的结果。
浏览器并不关心,它只是使用标准化的表单处理规则收集表单输入,然后使用表单中的元数据提交结果。
您将需要不同的代码来负责创建每种不同类型的帐户(“关注点分离”的想法),但如果纯粹机械地完成请求到该代码的路由并不重要(因为您使用的是不同的 URI)或“手动”。
【讨论】: