Search code examples
restpostgetapi-designformshttp-post

REST - Api design for posting a form data and fetching another resource


I am developing a feature, where a user requests some data by filling a form and posting it. The form contains user details (name, email, mobile etc.) and these details need to be saved in the database as a lead. Once the lead data is saved successfully then only the requested data will have to be retrieved from the database and shown to the user.

I started looking into this problem by dividing it into below two APIs and calling it sequentially

  1. A POST API to create a lead resource.
  2. A GET API to fetch the requested resource on the success of POST.

But then I realized that the solution will affect the speed of data retrieval as I will be doing two separate network request sequentially and I cannot compromise on speed.

How can I solve this problem without compromising on speed? Should I use POST request and return the requested data in its response?

P.S. I cannot call both the APIs in parallel


Solution

  • Yes, that's exactly what you should do - the POST request should respond with the newly created resource, that the client can subsequently use.