Open
Description
Кейс:
API может принимать 2 параметра один из которых обязателен (но не оба одновременно):
type Params struct {
Login string
UserID uint64
}
Тогда для документации приходится прибегать к следующему трюку:
type RealParams struct {
LoginParams
UserIDParams
}
type LoginParams struct {
Login string `required:"true"`
}
type UserIDParams struct {
UserID uint64 `required:"true"`
}
Однако это во-первых не очень удобно и порождает лишний код, во-вторых противоречит идее godraft - документация должна быть максимально тесно связана с кодом.
Предложение:
Сделать возможность обозначить группу параметров с одним из них обязательным. Например:
type Params struct {
Login string `required:"true,identity"
UserID uint64 `required:"true,identity"
}
где, часть после запятой указывает группу к которой относится обязательный параметр (может отсутствовать - тогда группы нет, параметр обязателен в независимости от остальных параметров), таким образом только один параметр внутри группы будет обязателен
Metadata
Metadata
Assignees
Labels
No labels