Endpoint class
Annotation for defining API endpoints.
Apply this annotation to a class that extends SparkEndpoint.
Usage
@Endpoint(path: '/api/users/{id}', method: 'GET')
class GetUserEndpoint extends SparkEndpoint<void> {
@override
Future<UserDto> handler(SparkRequest request, void body) async {
final userId = request.pathParamInt('id');
return await userService.getUser(userId);
}
}
With Middleware
@Endpoint(path: '/api/admin/users', method: 'GET')
class AdminUsersEndpoint extends SparkEndpoint<void> {
@override
List<Middleware> get middleware => [
authMiddleware(authService),
];
@override
Future<List<UserDto>> handler(SparkRequest request, void body) async {
return await userService.getAllUsers();
}
}
Constructors
-
Endpoint({required String path, required String method, String? summary, String? description, List<
String> ? tags, bool? deprecated, List<Map< ? security, String? operationId, ExternalDocumentation? externalDocs, List<String, List< >String> >Parameter> ? parameters, List<String> ? contentTypes, int? statusCode}) -
Creates an endpoint annotation.
const
Properties
-
contentTypes
→ List<
String> ? -
A list of supported content types for this endpoint.
final
- deprecated → bool?
-
Declares this operation to be deprecated.
final
- description → String?
-
A verbose explanation of the operation behavior.
final
- externalDocs → ExternalDocumentation?
-
Additional external documentation for this operation.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- method → String
-
The HTTP method for this endpoint (e.g., 'GET', 'POST').
final
- operationId → String?
-
Unique string used to identify the operation.
final
-
parameters
→ List<
Parameter> ? -
A list of parameters that are applicable for this operation.
final
- path → String
-
The URL path for this endpoint (e.g., '/api/users/{id}').
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
security
→ List<
Map< ?String, List< >String> > -
A declaration of which security mechanisms can be used for this operation.
final
- statusCode → int?
-
The default status code for the successful response (e.g., 200, 201).
final
- summary → String?
-
A short summary of what the operation does.
final
-
A list of tags for API documentation control.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited