Azure / Azure/data-api-builder

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

Abierto Apto para principiantes
#3,551 0 comentarios 0 reacciones 0 asignados Ver en GitHub
2.x rest
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.