documentComponents method Null safety

  1. @override
void documentComponents(
  1. APIDocumentContext context
)
override

Tells this object to add its components to context.

You may register components with context in this method. The order in which components are registered does not matter.

Example:

    class Car implements APIComponentDocumenter {
      @override
      void documentComponents(APIDocumentContext context) {
        context.schema.register("Car", APISchemaObject.object({
          "make": APISchemaObject.string(),
          "model": APISchemaObject.string(),
          "year": APISchemaObject.integer(),
        }));
      }
    }

See APIDocumentContext for more details.

Implementation

@override
void documentComponents(APIDocumentContext context) {
  super.documentComponents(context);

  context.responses.register(
    "InsufficientScope",
    APIResponse(
      "The provided credentials or bearer token have insufficient permission to access this route.",
      content: {
        "application/json": APIMediaType(
          schema: APISchemaObject.object({
            "error": APISchemaObject.string(),
            "scope": APISchemaObject.string()
              ..description = "The required scope for this operation."
          }),
        )
      },
    ),
  );

  context.responses.register(
    "InsufficientAccess",
    APIResponse(
      "The provided credentials or bearer token are not authorized for this request.",
      content: {
        "application/json": APIMediaType(
          schema: APISchemaObject.object(
            {"error": APISchemaObject.string()},
          ),
        )
      },
    ),
  );

  context.responses.register(
    "MalformedAuthorizationHeader",
    APIResponse(
      "The provided Authorization header was malformed.",
      content: {
        "application/json": APIMediaType(
          schema: APISchemaObject.object(
            {"error": APISchemaObject.string()},
          ),
        )
      },
    ),
  );
}