abordando el carácter DOT en los parámetros de solicitud MVC Web API 2
en MVC Web API 2, es conveniente trabajar con los parámetros de solicitud que se adhieran a un formato consistente. Sin embargo, a veces es necesario manejar solicitudes que contienen caracteres especiales, como un período (.). Este artículo explora el problema de incluir el carácter del punto en los parámetros de solicitud y ofrece una solución práctica.
Problema subyacente
el usuario destinado a permitir las solicitudes en el format:
http://somedomain.com/api/people/staff.33311
Sin embargo, cuando intentaron esto, encontraron un error 404. Esto ocurrió porque el enrutamiento predeterminado de la API web está diseñado para reconocer segmentos en la ruta de URL como nombres de controlador y acción, con parámetros opcionales siguiéndolos. El carácter DOT en la URL de solicitud está causando ambigüedad, ya que se analiza como parte del nombre de acción o un parámetro de consulta.
Solución propuesta
para resolver este problema, el usuario puede asegurarse de que el parámetro de solicitud no sea parte de una ruta de url segmente que no pueda estar en el nombre de un control de la acción. Una forma de lograr esto es agregar una barra de arrastre a la URL, así:
http://somedomain.com/api/people/staff.33311/
El corte de finalización asegura que el parámetro se trate como una cadena de consulta en lugar de parte de la ruta URL. Esto permite que la API web analice la solicitud correctamente y la asigne a la acción prevista.
Consideraciones de implementación
Dependiendo de la configuración del servidor, también es posible que deba ajustar Web.Config para permitir puntos en la ruta de URL. Esto se puede lograr estableciendo el atributo "LayDotsInPath" del elemento httPruntime en verdadero, como se muestra a continuación:
implementando esta solución, el usuario puede manejar solicitudes con un carácter de puntos en el parámetro mientras mantiene un formato de solicitud consistente e inequívoco.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3