Azure / Azure/data-api-builder

[Bug]: Wrong argument passed when validating stored-procedure query strings

Aperta Adatta ai principianti
#3,551 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
2.x rest
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.