A single request parameter descriptor: its name, location, scalar
schema, whether it is required, an optional description, its value
constraints, the default that stands in when the request omits it, and
the alias it travels under on the wire. Path parameters are always required
(OpenAPI requires it); the constructor keeps the caller's value but
validation treats path params as mandatory.