Dart - api.post()

Register an API route and set a specific HTTP POST handler on that route.

This method is a convenient short version of api().route().post()

import 'package:nitric_sdk/nitric.dart';
// Create an API named 'public'
final api = Nitric.api("public");
api.post("/customers/:customerId", (ctx) async {
// Extract the path parameter
final id = ctx.req.pathParams["customerId"]!;
// Construct response for the POST: /customers request...
final responseBody = {};
ctx.res.json(responseBody);
return ctx;
});

Parameters

  • Name
    match
    Required
    Required
    Type
    String
    Description

    The path matcher to use for the route. Matchers accept path parameters in the form of a colon prefixed string. The string provided will be used as that path parameter's name when calling handlers.

  • Name
    handler
    Required
    Required
    Type
    HttpHandler
    Description

    The middleware service to use as the handler for HTTP requests.

  • Name
    security
    Optional
    Optional
    Type
    List<OidcOptions>
    Description

    Security rules to apply with scopes to the entire API.

Examples

Register a handler for POST requests

import 'package:nitric_sdk/nitric.dart';
// Create an API named 'public'
final api = Nitric.api("public");
api.post("/customers", (ctx) async {
// Construct response for the POST: /customers request...
final responseBody = {};
ctx.res.json(responseBody);
return ctx;
});

Access the request body

The POST request body is accessible from the ctx.req object.

import 'package:nitric_sdk/nitric.dart';
// Create an API named 'public'
final api = Nitric.api("public");
api.post("/customers/:customerId", (ctx) async {
// Extract the path parameter
final id = ctx.req.pathParams["customerId"]!;
// Extract the request body
final customerData = ctx.req.json();
// Construct response for the PATCH: /customers request...
final responseBody = {};
ctx.res.json(responseBody);
return ctx;
});
Last updated on Oct 11, 2024