<< Clic para mostrar Tabla de Contenidos >> Consideraciones de caracteres especiales |
En las peticiones de OData, algunos caracteres pueden no estar disponibles para su uso al estar reservados o prohibidos. Esto afecta las peticiones con parámetros principalmente; por esta razón, usted debe reemplazar estos caracteres especiales por su valor hexadecimal para evitar futuros errores.
Caracteres Especiales
Esta es una lista de algunos de los caracteres especiales que tiene que remplazar al usarlos en una petición con parámetros.
Carácter especial |
( Signo ) |
Valor hexadecimal |
---|---|---|
Espacio |
( ) |
%20 |
Backslash |
( \ ) |
%5c |
Slash |
( / ) |
%2f |
Coma |
( , ) |
%2c |
Ampersand |
( & ) |
%26 |
Signo dolar |
( $ ) |
%24 |
Porcentaje |
( % ) |
%25 |
Signo igual |
( = ) |
%3d |
Signo de interrogación |
( ? ) |
%3f |
Numeral |
( # ) |
%23 |
Comillas dobles |
( " ) |
%22 |
Comillas sencillas |
( ' ) |
%27 |
Signo más |
( + ) |
%252b |
Ejemplos
Carácter signo más (+)
Suponga que quiere usar el Signo más ( + ) en un filtro. Usted quiere usar la siguiente sentencia.
parameters/any(p:(p/xpath eq 'My example' and contains(p/value, 'There is + 1')))
La sentencia anterior puede no funcionar como se espera. Por esta razón usted debe reemplazar el signo más por su valor hexadecimal, %252b. El ejemplo anterior con el nuevo valor sería:
parameters/any(p:(p/xpath eq 'My example' and contains(p/value, 'There is %252b 1')))
Carácter comillas (")
Si el valor del filtro contiene comillas, entonces el valor debe ir entre comillas sencillas. En caso contrario, se lanza una excepción. Por ejemplo:
parameters/any(p:(p/xpath eq 'String' and contains(p/value, 'take "1"')))
Carácter comilla sencilla (')
Si el valor del filtro contiene comilla sencilla, entonces el valor debe ir entre comillas. En caso contrario, se lanza una excepción. Por ejemplo:
parameters/any(p:(p/xpath eq 'String' and contains(p/value, "take '1'")))
Otros casos con comilla y comilla sencilla
Si el filtro contiene solamente una comilla (‘“’) o solamente una comilla sencilla (“’“), retorna todos los registros, por ejemplo:
parameters/any(p:(p/xpath eq 'String' and contains(p/value, "'")))
Si la comilla o comilla sencilla es el último carácter de la cadena, el filtro lo toma como carácter de cierre del valor a filtrar, por ejemplo:
•Si el valor a evaluar es: ```contains(p/value, "case'")```, entonces el resultado retornara todos los registros que contengan ```case```.
•Si el valor a evaluar es: ```contains(p/value, "case' ")```, entonces el resultado serán todos los registros que contienen ``` case' ```. Tenga en cuenta que al final de esta cadena hay un espacio.
Normalmente, con otros caracteres especiales es indiferente enviar el carácter o su codificación, el filtro los interpreta igual, por ejemplo:
contains(p/value, "&") y contains(p/value, "%26"), retornan los mismos resultados. |
Last Updated 11/24/2023 4:40:01 PM