HTTP Response Structure

Responses are generally made up of three components. The net.http.* API returns responses in these three parts so you can handle the responses appropriately:

The status includes standardized codes and messages for certain request outcomes. When working with web services you’ll commonly see:

  • 2XX Success: The request was successful (e.g., 200 OK, 201 Created).

  • 4XX Client errors: The request contains incorrect syntax or cannot be fulfilled (e.g., 400 Bad Request, 401 Unauthorized, 404 Not Found).

  • 5XX Server errors: The server failed to fulfill a valid request (e.g, 503 Service Unavailable).

In the above screenshot, the status code of 201 means resource was successfully created.

The header contains information about the response - this doesn’t actually contain the response itself. A response header table is returned where you can access information about the response.

Sometimes the header contains the Set-Cookie header, which can contain a cookie which can be cached (as a local variable declared outside the main() function) for reuse in future requests if you don’t want to continue re-authenticating.

The body is the content of the response. It contains the information we want to use based on the request we made.

It can be information you need to use, for example, the access token or resource you requested from the server or an error description providing you specific details why the server could not process your particular request. 

In this case, the FHIR Server returned the successfully created resource:

 

Related pages