danielgtaylor / danielgtaylor/huma
Allow anonymous fields to be used as request input parameters
- Dominant language
- Go
- Stars
- 4.4k
- Forks
- 285
- Avg merge
- 40m
- Merged PRs (30d)
- 1
Description
Hi! Would you consider adding support for anonymous fields in request input parameters ?
My use case is the implementation of generic operation handlers such as :
```go
type InputUUID UUID
func (i InputUUID) Identifier() UUID {
return i
}
func GetHandler[
OperationInput GetInputInterface[Item, ID],
Item any,
ID any,
](
find models.ItemFinder[ID, Item],
) func(context.Context, OperationInput) (*GetHandlerOutput[Item], error) {
return func(ctx context.Context, input OperationInput) (*GetHandlerOutput[Item], error) {
item, err := find(input.DB(), input.Identifier())
return &GetHandlerOutput[Item]{Body: item}, err
}
}
router.Register(accountAPI, "GetPendingUserRequest",
huma.Operation{
Path: "/pending/{uuid}",
Method: http.MethodGet,
Summary: "Get pending user request",
}, GetHandler[*struct {
resolvers.AccessRestricted[resolvers.Admin]
InputUUID `path:"uuid" format:"uuid"` // Anonymous field parameter
}](people.GetPendingUserRequest))
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.