HTTP API Patterns¶
Build robust HTTP APIs with HttpRequestData and HttpResponseData in .NET isolated worker.
flowchart LR
A[Trigger] --> B[Function]
B --> C[Binding or SDK]
C --> D[Azure service] Topic/Command Groups¶
Route templates and verbs¶
[Function("GetOrder")]
public async Task<HttpResponseData> GetOrder(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = "orders/{id}")] HttpRequestData req,
string id)
{
var response = req.CreateResponse(HttpStatusCode.OK);
await response.WriteAsJsonAsync(new { id });
return response;
}
Request body handling¶
using System.Text.Json;
var payload = await JsonSerializer.DeserializeAsync<CreateOrderRequest>(req.Body);
Response envelope pattern¶
var response = req.CreateResponse(HttpStatusCode.Created);
await response.WriteAsJsonAsync(new { orderId = "ord-1001", status = "created" });
return response;