Azure / Azure/data-api-builder
[Bug]: Wrong argument passed when validating stored-procedure query strings
- Lingua principale
- C#
- Stelle
- 1.5k
- Fork
- 370
- Merge medio
- 3g 22h
- PR unite (30g)
- 9
Descrizione
## What?
DAB reports “Primary key for POST requests can't be specified…”
instead of “Query string for this HTTP request type is an invalid URL.”
## Why?
```csharp
// (RestService.cs:311)
RequestValidator.ValidatePrimaryKeyRouteAndQueryStringInURL(EntityActionOperation.Insert, queryString);
```
### But the validator signature is:
```csharp
// (RequestValidator.cs:216)
ValidatePrimaryKeyRouteAndQueryStringInURL(operationType, primaryKeyRoute = null, queryString = null)
```
So queryString is being passed into the primaryKeyRoute parameter (positional argument bug), while the real queryString parameter is left null.
## Suggestion
Use named arguments.
```csharp
// RestService.cs:311
ValidatePrimaryKeyRouteAndQueryStringInURL(EntityActionOperation.Insert, primaryKeyRoute: null, queryString: queryString);
```
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Iniziare in RestService.cs intorno alla riga 311 e confrontare la chiamata con la firma del validator in RequestValidator.cs intorno alla riga 216. Verificare il percorso di convalida della stringa di query della stored procedure e confermare che l’errore risultante sia il messaggio relativo all’URL non valido anziché il messaggio relativo alla chiave primaria dopo che l’argomento è stato passato per nome.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- api, backend-api-design
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Tranquilla
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 82/100