Dart - api.route.patch()
This is reference documentation for the Nitric Dart SDK. To learn about APIs in Nitric start with the API docs.
Register a handler for HTTP PATCH requests to the route.
import 'package:nitric_sdk/nitric.dart';final customersRoute = Nitric.api("public").route("/customers");customersRoute.patch((ctx) async {// construct response for the PATCH: /customers request...final responseBody = {};ctx.res.json(responseBody);return ctx;});
Parameters
- Name
handler- Required
- Required
- Type
- HttpHandler
- Description
The middleware service to use as the handler for HTTP requests.
Examples
Register a handler for PATCH requests
import 'package:nitric_sdk/nitric.dart';final customersRoute = Nitric.api("public").route("/customers");customersRoute.patch((ctx) async {// construct response for the PATCH: /customers request...final responseBody = {};ctx.res.json(responseBody);return ctx;});
Chain services as a single method handler
When multiple services are provided they will be called as a chain. If one succeeds, it will move on to the next. This allows middleware to be composed into more complex handlers. You can call the next middleware in the chain using ctx.next(). If a middleware in the chain does not call .next and instead returns the base context, the call chain will end.
import 'package:nitric_sdk/nitric.dart';Future<HttpContext> validate(HttpContext ctx) async {if (!ctx.req.headers.containsKey("Content-Type")) {ctx.res.status = 400;ctx.res.body = "header Content-Type is required";// End the middleware chain by not calling `ctx.next()`.return ctx;}return ctx.next();}Future<HttpContext> updateCustomer(HttpContext ctx) async {// handle the PATCH request...return ctx.next();}// The validate middleware will run before all handlers that are created using this routefinal customersRoute = Nitric.api("public").route("/customers", middlewares: [validate]);// The validate middleware will run before the updateCustomer handlercustomersRoute.patch(updateCustomer);
Access the request body
The PATCH request body is accessible from the ctx.req object.
import 'package:nitric_sdk/nitric.dart';final customersRoute = Nitric.api("public").route("/customers");customersRoute.patch((ctx) async {final customerData = ctx.req.json();// parase, validate and store the request payload if it's availablereturn ctx;});
Have feedback on this page?
Open GitHub IssueLast updated on Oct 7, 2025