Resumen general
Las funciones de cadena permiten filtrar según el contenido de texto dentro de las propiedades del recurso raíz. Estas funciones son especialmente útiles cuando trabajas con campos basados en cadenas, ya que permiten realizar búsquedas y filtros más precisos.
Funciones compatibles
| Función | Descripción | Ejemplo de uso |
|---|---|---|
| contains | Comprueba si una cadena contiene una subcadena. | contains(property, 'substring') |
| startswith | Comprueba si una cadena empieza con un prefijo. | startswith(property, 'prefix') |
| endswith | Comprueba si una cadena termina con un sufijo. | endswith(property, 'suffix') |
Sintaxis
Las funciones de cadena siguen esta sintaxis general:
FUNCTION_NAME(property_name, 'value')
Ejemplos
Filtrar elementos donde una propiedad contiene un valor específico:
$filter=contains(property_name, 'value')
- Ejemplo: Obtener elementos donde la propiedad
namecontiene'smart':
$filter=contains(name, 'smart')
Filtrar elementos donde una propiedad empieza con un valor específico:
$filter=startswith(property_name, 'value')
- Ejemplo: Obtener elementos donde la propiedad
titleempieza con'Pro':
$filter=startswith(title, 'Pro')
Filtrar elementos donde una propiedad termina con un valor específico:
$filter=endswith(property_name, 'value')
- Ejemplo: Obtener elementos donde la propiedad
colortermina con'Red':
$filter=endswith(color, 'Red')
Cómo usar la función de cadena contains en una solicitud
- Al construir tu solicitud a la API, añade la función
containsal parámetrofilter.
http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_title,prod_color&$expand=Variants&$filter=contains(prod_color,'B')
Formato de la respuesta
{
"value": [
{
"prod_ref": "CuMoApp",
"prod_title": {
"en": "Custom Mobile Apps"
},
"prod_color": {
"en": "Black"
},
"Variants@count": 0,
"cat_ref": [
"OMA"
]
},
{
"prod_ref": "Atrius",
"prod_title": {
"en": "Atrius"
},
"prod_color": {
"en": "Blue"
},
"Variants@count": 0,
"cat_ref": [
"OMA"
]
},
{
"prod_ref": "EC-gfx",
"prod_title": {
"en": "EC-gfxProgram"
},
"prod_color": {
"en": "Blue"
},
"Variants@count": 0,
"cat_ref": [
"LPG"
]
}
],
"@count": 3,
"@readLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_title,prod_color&$expand=Variants&$filter=contains(prod_color,'B')"
}Uso de funciones de cadena con operadores lógicos
Las funciones de cadena pueden combinarse con operadores lógicos para crear filtros más complejos:
$filter=startswith(name, 'Pro') and contains(description, 'advanced')
Notas
- Para asegurarte de usar correctamente las funciones de cadena, consulta los metadatos del recurso raíz. Los metadatos proporcionan detalles sobre las propiedades disponibles para aplicar filtros.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo