@@ -65,16 +65,16 @@ public static IEndpointRouteBuilder MapTodoApiRoutes(this IEndpointRouteBuilder
65
65
var group = builder . MapGroup ( "/api/items" )
66
66
. RequireAuthorization ( ) ;
67
67
{
68
- // Get all Todo items
69
68
group . MapGet ( "/" , async (
70
69
ITodoService service ,
71
70
TodoUser user ,
72
71
CancellationToken cancellationToken ) =>
73
72
{
74
73
return await service . GetListAsync ( user , cancellationToken ) ;
75
- } ) ;
74
+ } )
75
+ . WithSummary ( "Get all Todo items" )
76
+ . WithDescription ( "Gets all of the current user's todo items." ) ;
76
77
77
- // Get a specific Todo item
78
78
group . MapGet ( "/{id}" , async Task < Results < Ok < TodoItemModel > , ProblemHttpResult > > (
79
79
Guid id ,
80
80
TodoUser user ,
@@ -88,9 +88,10 @@ public static IEndpointRouteBuilder MapTodoApiRoutes(this IEndpointRouteBuilder
88
88
_ => TypedResults . Ok ( model ) ,
89
89
} ;
90
90
} )
91
- . ProducesProblem ( StatusCodes . Status404NotFound ) ;
91
+ . ProducesProblem ( StatusCodes . Status404NotFound )
92
+ . WithSummary ( "Get a specific Todo item" )
93
+ . WithDescription ( "Gets the todo item with the specified ID." ) ;
92
94
93
- // Create a new Todo item
94
95
group . MapPost ( "/" , async Task < Results < Created < CreatedTodoItemModel > , ProblemHttpResult > > (
95
96
CreateTodoItemModel model ,
96
97
TodoUser user ,
@@ -106,9 +107,10 @@ public static IEndpointRouteBuilder MapTodoApiRoutes(this IEndpointRouteBuilder
106
107
107
108
return TypedResults . Created ( $ "/api/items/{ id } ", new CreatedTodoItemModel ( ) { Id = id } ) ;
108
109
} )
109
- . ProducesProblem ( StatusCodes . Status400BadRequest ) ;
110
+ . ProducesProblem ( StatusCodes . Status400BadRequest )
111
+ . WithSummary ( "Create a new Todo item" )
112
+ . WithDescription ( "Creates a new todo item for the current user and returns its ID." ) ;
110
113
111
- // Mark a Todo item as completed
112
114
group . MapPost ( "/{id}/complete" , async Task < Results < NoContent , ProblemHttpResult > > (
113
115
Guid id ,
114
116
TodoUser user ,
@@ -125,9 +127,10 @@ public static IEndpointRouteBuilder MapTodoApiRoutes(this IEndpointRouteBuilder
125
127
} ;
126
128
} )
127
129
. ProducesProblem ( StatusCodes . Status400BadRequest )
128
- . ProducesProblem ( StatusCodes . Status404NotFound ) ;
130
+ . ProducesProblem ( StatusCodes . Status404NotFound )
131
+ . WithSummary ( "Mark a Todo item as completed" )
132
+ . WithDescription ( "Marks the todo item with the specified ID as complete." ) ;
129
133
130
- // Delete a Todo item
131
134
group . MapDelete ( "/{id}" , async Task < Results < NoContent , ProblemHttpResult > > (
132
135
Guid id ,
133
136
TodoUser user ,
@@ -141,7 +144,9 @@ public static IEndpointRouteBuilder MapTodoApiRoutes(this IEndpointRouteBuilder
141
144
false => TypedResults . Problem ( "Item not found." , statusCode : StatusCodes . Status404NotFound ) ,
142
145
} ;
143
146
} )
144
- . ProducesProblem ( StatusCodes . Status404NotFound ) ;
147
+ . ProducesProblem ( StatusCodes . Status404NotFound )
148
+ . WithSummary ( "Delete a Todo item" )
149
+ . WithDescription ( "Deletes the todo item with the specified ID." ) ;
145
150
} ;
146
151
147
152
// Redirect to Open API/Swagger documentation
0 commit comments