@@ -47,6 +47,14 @@ class CreateUserEndpoint extends PostEndpoint {
4747 email : 'john.doe@example.com' ,
4848 } ;
4949
50+ override response = new ObjectSanitizer ( {
51+ id : new LengthValidator ( { minLength : 1 , maxLength : 50 } ) ,
52+ } ) ;
53+
54+ override responseExample = {
55+ id : 'abc123' ,
56+ } ;
57+
5058 async handle ( request : ApiRequest ) {
5159 const id = Math . random ( ) . toString ( 36 ) . slice ( 2 ) ;
5260 usersDb [ id ] = { id, ...request . body } ;
@@ -80,6 +88,16 @@ class GetUserEndpoint extends GetEndpoint {
8088 'x-request-id' : 'req-12345' ,
8189 } ;
8290
91+ override responseExample = {
92+ id : 'abc123' ,
93+ name : 'John Doe' ,
94+ email : 'john.doe@example.com' ,
95+ } ;
96+
97+ override response = new ObjectSanitizer ( {
98+ id : idValidator ,
99+ } ) ;
100+
83101 async handle ( request : ApiRequest ) {
84102 const user = usersDb [ request . params [ 'id' ] ] ;
85103
@@ -107,6 +125,20 @@ class ListUsersEndpoint extends GetEndpoint {
107125 email : emailValidator . copy ( { isOptional : true } ) ,
108126 } ) ;
109127
128+ override response = new ObjectSanitizer ( {
129+ limit : new RangeValidator ( { min : 1 , max : 100 } ) ,
130+ name : nameValidator ,
131+ email : emailValidator ,
132+ } ) ;
133+
134+ override responseExample = [
135+ {
136+ id : 'abc123' ,
137+ name : 'John Doe' ,
138+ email : 'john.doe@example.com' ,
139+ } ,
140+ ] ;
141+
110142 async handle ( request : ApiRequest ) {
111143 const users = Object . values ( usersDb ) ;
112144
0 commit comments