Azure / Azure/data-api-builder
[Bug]: Wrong argument passed when validating stored-procedure query strings
- Lenguaje dominante
- C#
- Estrellas
- 1.5k
- Forks
- 372
- Merge medio
- 3 d 22 h
- PR fusionados (30 d)
- 9
Descripción
## 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);
```
Guía de contribución
Línea de trabajo
Comience en RestService.cs alrededor de la línea 311 y compare la llamada con la firma del validador en RequestValidator.cs alrededor de la línea 216. Verifique la ruta de validación de la cadena de consulta del procedimiento almacenado y confirme que el error resultante sea el mensaje de URL no válida en lugar del mensaje de clave primaria después de pasar el argumento por nombre.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- csharp
- Área
- api, backend-api-design
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Tranquilo
- Claridad
- Bien especificado
- Aptitud para principiantes
- 82/100