@@ -203,49 +203,60 @@ func makeHandlerNoContent[Req any](h func(ctx echo.Context, req Req) error) echo
203203// handlerの戻り値がnilの場合は、c.NoContent(http.StatusOK)として返す
204204// NOTE: Go1.20時点では、メソッドがtype parameterをもてないので関数として定義されている
205205func EwGET [Resp any ](w * EchoWrapper , path string , h func (ctx echo.Context ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
206- return w .GET (path , makeHandlerNoRequest (h ), desc , m ... )
206+ var resp Resp
207+ return w .GETTyped (path , makeHandlerNoRequest (h ), desc , resp , m ... )
207208}
208209
209210// 詳細についてはEwGETを見よ
210211// 返すべきresponseがないケースでは、EwPOSTNoContentを使うこと
211212func EwPOST [Req any , Resp any ](w * EchoWrapper , path string , h func (ctx echo.Context , req Req ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
212- return w .POST (path , makeHandler (h ), desc , m ... )
213+ var req Req
214+ var resp Resp
215+ return w .POSTTyped (path , makeHandler (h ), desc , req , resp , m ... )
213216}
214217
215218// 詳細についてはEwGETを見よ
216219func EwPOSTNoContent [Req any ](w * EchoWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
217- return w .POST (path , makeHandlerNoContent (h ), desc , m ... )
220+ var req Req
221+ return w .POSTTyped (path , makeHandlerNoContent (h ), desc , req , nil , m ... )
218222}
219223
220224// 詳細についてはEwGETを見よ
221225// 返すべきresponseがないケースでは、EwPUTNoContentを使うこと
222226func EwPUT [Req any , Resp any ](w * EchoWrapper , path string , h func (ctx echo.Context , req Req ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
223- return w .PUT (path , makeHandler (h ), desc , m ... )
227+ var req Req
228+ var resp Resp
229+ return w .PUTTyped (path , makeHandler (h ), desc , req , resp , m ... )
224230}
225231
226232// 詳細についてはEwGETを見よ
227233func EwPUTNoContent [Req any ](w * EchoWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
228- return w .PUT (path , makeHandlerNoContent (h ), desc , m ... )
234+ var req Req
235+ return w .PUTTyped (path , makeHandlerNoContent (h ), desc , req , nil , m ... )
229236}
230237
231238// 詳細についてはEwGETを見よ
232239func EwPATCH [Req any , Resp any ](w * EchoWrapper , path string , h func (ctx echo.Context , req Req ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
233- return w .PATCH (path , makeHandler (h ), desc , m ... )
240+ var req Req
241+ var resp Resp
242+ return w .PATCHTyped (path , makeHandler (h ), desc , req , resp , m ... )
234243}
235244
236245// 詳細についてはEwGETを見よ
237246func EwPATCHNoContent [Req any ](w * EchoWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
238- return w .PATCH (path , makeHandlerNoContent (h ), desc , m ... )
247+ var req Req
248+ return w .PATCHTyped (path , makeHandlerNoContent (h ), desc , req , nil , m ... )
239249}
240250
241251// 詳細についてはEwGETを見よ
242252func EwDELETE [Resp any ](w * EchoWrapper , path string , h func (ctx echo.Context ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
243- return w .DELETE (path , makeHandlerNoRequest (h ), desc , m ... )
253+ var resp Resp
254+ return w .DELETETyped (path , makeHandlerNoRequest (h ), desc , resp , m ... )
244255}
245256
246257// 詳細についてはEwGETを見よ
247258func EwDELETENoContent [Req any ](w * EchoWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
248- return w .DELETE (path , makeHandlerNoContent (h ), desc , m ... )
259+ return w .DELETETyped (path , makeHandlerNoContent (h ), desc , nil , m ... )
249260}
250261
251262func (w * EchoWrapper ) Group (prefix string , m ... echo.MiddlewareFunc ) * GroupWrapper {
@@ -350,47 +361,58 @@ func (g *GroupWrapper) DELETETyped(path string, h echo.HandlerFunc, desc Desc, r
350361
351362// 詳細についてはEwGETを見よ
352363func GwGET [Resp any ](g * GroupWrapper , path string , h func (ctx echo.Context ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
353- return g .GET (path , makeHandlerNoRequest (h ), desc , m ... )
364+ var resp Resp
365+ return g .GETTyped (path , makeHandlerNoRequest (h ), desc , resp , m ... )
354366}
355367
356368// 詳細についてはEwGETを見よ
357369func GwPOST [Req any , Resp any ](g * GroupWrapper , path string , h func (ctx echo.Context , req Req ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
358- return g .POST (path , makeHandler (h ), desc , m ... )
370+ var req Req
371+ var resp Resp
372+ return g .POSTTyped (path , makeHandler (h ), desc , req , resp , m ... )
359373}
360374
361375// 詳細についてはEwGETを見よ
362376func GwPOSTNoContent [Req any ](g * GroupWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
363- return g .POST (path , makeHandlerNoContent (h ), desc , m ... )
377+ var req Req
378+ return g .POSTTyped (path , makeHandlerNoContent (h ), desc , req , nil , m ... )
364379}
365380
366381// 詳細についてはEwGETを見よ
367382func GwPUT [Req any , Resp any ](g * GroupWrapper , path string , h func (ctx echo.Context , req Req ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
368- return g .PUT (path , makeHandler (h ), desc , m ... )
383+ var req Req
384+ var resp Resp
385+ return g .PUTTyped (path , makeHandler (h ), desc , req , resp , m ... )
369386}
370387
371388// 詳細についてはEwGETを見よ
372389func GwPUTNoContent [Req any ](g * GroupWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
373- return g .PUT (path , makeHandlerNoContent (h ), desc , m ... )
390+ var req Req
391+ return g .PUTTyped (path , makeHandlerNoContent (h ), desc , req , nil , m ... )
374392}
375393
376394// 詳細についてはEwGETを見よ
377395func GwPATCH [Req any , Resp any ](g * GroupWrapper , path string , h func (ctx echo.Context , req Req ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
378- return g .PATCH (path , makeHandler (h ), desc , m ... )
396+ var req Req
397+ var resp Resp
398+ return g .PATCHTyped (path , makeHandler (h ), desc , req , resp , m ... )
379399}
380400
381401// 詳細についてはEwGETを見よ
382402func GwPATCHNoContent [Req any ](g * GroupWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
383- return g .PATCH (path , makeHandlerNoContent (h ), desc , m ... )
403+ var req Req
404+ return g .PATCHTyped (path , makeHandlerNoContent (h ), desc , req , nil , m ... )
384405}
385406
386407// 詳細についてはEwGETを見よ
387408func GwDELETE [Resp any ](g * GroupWrapper , path string , h func (ctx echo.Context ) (Resp , error ), desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
388- return g .DELETE (path , makeHandlerNoRequest (h ), desc , m ... )
409+ var resp Resp
410+ return g .DELETETyped (path , makeHandlerNoRequest (h ), desc , resp , m ... )
389411}
390412
391413// 詳細についてはEwGETを見よ
392414func GwDELETENoContent [Req any ](g * GroupWrapper , path string , h func (ctx echo.Context , req Req ) error , desc Desc , m ... echo.MiddlewareFunc ) * echo.Route {
393- return g .DELETE (path , makeHandlerNoContent (h ), desc , m ... )
415+ return g .DELETETyped (path , makeHandlerNoContent (h ), desc , nil , m ... )
394416}
395417
396418type Desc struct {
0 commit comments