REST - Api 用于发布表单数据和获取其他资源的设计
REST - Api design for posting a form data and fetching another resource
我正在开发一项功能,用户可以通过填写表格并发布来请求一些数据。该表单包含用户详细信息(姓名、电子邮件、手机等),这些详细信息需要作为线索保存在数据库中。成功保存潜在客户数据后,只需从数据库中检索请求的数据并显示给用户。
我开始研究这个问题,将它分成下面两个 API 并按顺序调用它
- A POST API 创建潜在客户资源。
- A GET API 在 POST 成功时获取请求的资源。
但后来我意识到该解决方案会影响数据检索的速度,因为我将按顺序执行两个单独的网络请求,我不能在速度上妥协。
如何在不影响速度的情况下解决这个问题?我应该在其响应中使用 POST 请求和 return 请求的数据吗?
P.S。我不能同时调用 APIs
是的,这正是您应该做的 - POST 请求应该使用新创建的资源进行响应,客户端随后可以使用该资源。
你一直在从web开发者的角度思考问题。您拥有此字节流并将其发送给客户端不需要任何表单提交,一个 GET 请求就足够了。但是从业务的角度来看,检索文件确实需要提交表单,即用户的个人数据。即使从用户的角度来看,它也是一个单一的操作。用户发送必要的数据以获得所需的响应(例如文件下载)。保存输入数据(用户的私人详细信息)是一种副作用,而不是用户预期的结果。
因此,单个 POST 提交用户数据、保存数据、然后使用请求的资源进行响应的请求足以应对这种情况。
我正在开发一项功能,用户可以通过填写表格并发布来请求一些数据。该表单包含用户详细信息(姓名、电子邮件、手机等),这些详细信息需要作为线索保存在数据库中。成功保存潜在客户数据后,只需从数据库中检索请求的数据并显示给用户。
我开始研究这个问题,将它分成下面两个 API 并按顺序调用它
- A POST API 创建潜在客户资源。
- A GET API 在 POST 成功时获取请求的资源。
但后来我意识到该解决方案会影响数据检索的速度,因为我将按顺序执行两个单独的网络请求,我不能在速度上妥协。
如何在不影响速度的情况下解决这个问题?我应该在其响应中使用 POST 请求和 return 请求的数据吗?
P.S。我不能同时调用 APIs
是的,这正是您应该做的 - POST 请求应该使用新创建的资源进行响应,客户端随后可以使用该资源。
你一直在从web开发者的角度思考问题。您拥有此字节流并将其发送给客户端不需要任何表单提交,一个 GET 请求就足够了。但是从业务的角度来看,检索文件确实需要提交表单,即用户的个人数据。即使从用户的角度来看,它也是一个单一的操作。用户发送必要的数据以获得所需的响应(例如文件下载)。保存输入数据(用户的私人详细信息)是一种副作用,而不是用户预期的结果。
因此,单个 POST 提交用户数据、保存数据、然后使用请求的资源进行响应的请求足以应对这种情况。