es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe alguna forma de omitir la decodificación de los parámetros de consulta de URL en ASP.NET Core para un controlador/método de acción específico?

Tengo el siguiente método del controlador:

public class MyApiController : Controller
{
    [HttpGet("api/custom")]
    public async Task<iactionresult> Custom(string data)
    {
    }
}

Si accedo a este método de acción con el siguiente parámetro de consulta: localhost:5000/api/custom?data=Y%3D%3DX, obtengo el valor “Y==X” para mi parámetro de datos en el método Custom.

¿Es posible desactivar este decodificación solo para este método, para poder obtener el valor original sin escapar?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible desactivar la decodificación de los parámetros de consulta solo para este método utilizando el atributo [FromQuery] y especificando la propiedad Decode como false. Aquí hay una versión actualizada del método del controlador:

    public class MyApiController : Controller
    {
        [HttpGet("api/custom")]
        public async Task<iactionresult> Custom([FromQuery(Name = "data", Decode = false)] string data)
        {
        }
    }
    

    Con esta modificación, el parámetro data contendrá el valor original sin escapar de Y%3D%3DX en lugar del valor decodificado de Y==X.

Comments are closed.