Я использую Angular 6, чтобы написать свой сайт с Apollo для взаимодействия с сервером GraphPL.Я хотел бы иметь возможность экранировать параметры, которые я получаю от клиента, прежде чем добавить их в мой gql
запрос.
это мой служебный файл:
import { Injectable } from '@angular/core';
import {Apollo} from 'apollo-angular';
import gql from 'graphql-tag';
@Injectable({
providedIn: 'root'
})
export class ProductService {
constructor(private apollo: Apollo) { }
searchForProduct(productName: string) {
return this.apollo.watchQuery<any>({
query: gql`{products_by_p_name_search(lang_id:1,query:"${productName}")
{category_id,price,category_name,id,name,desc,quantity,year_manufacture,image_file}}`
});
}
}
, как вы видитездесь функция searchForProduct
получает параметр productName
, который я добавляю в свой запрос gql
.как мне избежать этого, чтобы запрос не прерывался, если он содержит специальные символы?
спасибо!