QueryParamOr extracts and parses a single query parameter from the request by key. Returns defaultValue if the parameter is not found or has an empty value. Returns an error only if parsing fails (e.g., "abc" for int type). Example: page, err := echo.QueryParamOr[int](c, "page", 1) // If "page"
(c *Context, key string, defaultValue T, opts ...any)
| 142 | // |
| 143 | // See ParseValue for supported types and options |
| 144 | func QueryParamOr[T any](c *Context, key string, defaultValue T, opts ...any) (T, error) { |
| 145 | values, ok := c.QueryParams()[key] |
| 146 | if !ok { |
| 147 | return defaultValue, nil |
| 148 | } |
| 149 | if len(values) == 0 { |
| 150 | return defaultValue, nil |
| 151 | } |
| 152 | value := values[0] |
| 153 | v, err := ParseValueOr[T](value, defaultValue, opts...) |
| 154 | if err != nil { |
| 155 | return v, NewBindingError(key, []string{value}, "query param", err) |
| 156 | } |
| 157 | return v, nil |
| 158 | } |
| 159 | |
| 160 | // QueryParams extracts and parses all values for a query parameter key as a slice. |
| 161 | // It returns the typed slice and an error if binding any value fails. Returns ErrNonExistentKey if parameter not found. |
nothing calls this directly
no test coverage detected
searching dependent graphs…