Runtime expression `name` rule inconsistent with path template grammar
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Documentation
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- markdown
- Domaine
- backend-api-design, documentation
Piste de recherche
Lisez les règles ABNF de l’expression d’exécution pour name et token ainsi que la grammaire des modèles de chemin d’OpenAPI 3.2. Déterminez si les noms de requête vides sont prévus avant de décider si name devrait exiger un caractère ; le travail est terminé lorsque la grammaire et le texte environnant de la spécification documentent la décision de manière cohérente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The runtime expression ABNF grammar defines:
name = *( char )
token = 1*tchar
The * (zero or more) quantifier on name means expressions like $request.query. and $request.path. with empty names are syntactically valid per the grammar.
The OpenAPI spec states that the Parameter Object's name field is REQUIRED:
REQUIRED. The name of the parameter. Parameter names are case-sensitive.
A required field with an empty string value is arguably not meaningful, though the spec doesn't explicitly say "non-empty".
For path parameters specifically, this is inconsistent with the path template grammar introduced in OpenAPI 3.2.0:
template-expression-param-name = 1*( %x00-7A / %x7C / %x7E-10FFFF )
The 1* quantifier requires at least one character for path parameter names. So {userId} is valid but {} is not. Yet the runtime expression $request.path. (empty name) is accepted by the grammar.
For query parameters, the situation is less clear — HTTP technically allows empty query parameter keys (?=value), though this is extremely uncommon.
For consistency with the path template grammar and the token = 1*tchar rule (which already requires at least one character for headers), consider changing:
name = *( char )
to:
name = 1*( char )
This would require at least one character for query and path parameter names, aligning the runtime expression grammar with the path template grammar.
- Langage dominant
- Markdown
- Étoiles
- 31.3k
- Forks
- 9.2k
- Merge moyen
- 2 j 3 h
- PR mergées (30 j)
- 8
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de OAI/OpenAPI-Specification
-
Housekeeping
Difficulté 1/5 Moins d'une heure Accessibilité débutants 8/100
OAI/OpenAPI-Specification#5571 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
OAI/OpenAPI-Specification#5570 ·
Les mainteneurs répondent en général sous 1 jour
-
Housekeeping
Difficulté 1/5 Moins d'une heure Accessibilité débutants 45/100
OAI/OpenAPI-Specification#5566 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Housekeeping
Difficulté 1/5 Moins d'une heure Accessibilité débutants 35/100
OAI/OpenAPI-Specification#5562 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
v3.2.1 releasePeut-être à nouveau libre @lornajane l’a pris il y a 37 jours, et aucune pull request n’est ouverte. Ouverte
OAI/OpenAPI-Specification#5460 · 11 commentaires · 1 réaction · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de OAI/OpenAPI-Specification
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
Les mainteneurs répondent en général sous 1 jour
-
Object parameters lose their structure when resources is enabledPeut-être pris @asts-top l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
nautechsystems/nautilus_trader#5364 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
temporalio/sdk-ruby#625 ·
Les mainteneurs répondent en général sous 1 jour