By default, a 400 (bad request) is returned if a query, header or body input can't be decoded (for any reason), or if decoding a path capture ends with an error.
By default, a 400 (bad request) is returned if a query, header or body input can't be decoded (for any reason), or if decoding a path capture ends with an error.
Otherwise (e.g. if the method, a path segment, or path capture is missing or there's a mismatch), a "no match" is returned, which is a signal to try the next endpoint.
Should a status 400 be returned if the shape of the path of the request matches, but decoding some path segment fails. This assumes that the only way decoding a path segment might fail is with a DecodeResult.Error.