Búsqueda de sitios web

javascript - servicio de angular esperado 1-2


Tengo una URL de API así:

https://example.com/api/tickets?filters=[{"field":"ticket_number","op":"like","value":"HT00002"}]

Y he creado una función de servicio así:

getTableFilter(column: string, sort: string, value: string) {
    const accessToken = store.get('accessToken')
    const params = accessToken
      ? {
        headers: {
          Authorization: `Token ${accessToken}`,
          AccessToken: accessToken,
        },
      }
      : {}
    return this.http
      .get(`${this.env.HELPDESK_LIST_FILTER}` + '[{field:' + column, + 'op:' + sort, + 'value:' + value + '}]', params)
      .pipe(map((data) => data));
}

Nota: this.env.HELPDESK_LIST_FILTER es igual a 'https://example.com/api/tickets?filters=' en mi archivo env

Pero recibo este error

¿Alguna idea?

Respuesta #1

has aplicado accidentalmente más de dos parámetros, intenta ceñirte al formato de cadena `string`

 this.http.get(`url`,params)
const url = `${this.env.HELPDESK_LIST_FILTER}[{field: ${column},op:${sort},value:${value}}]`;

const params = accessToken 
     ? {
        headers: {
          Authorization: `Token ${accessToken}`,
          AccessToken: accessToken,
        },
      }
      : {};

return this.http
  .get(url, params)
  .pipe(map((data) => data));

Respuesta #2

La coma debería estar dentro de la comilla.

return this.http
  .get(`${this.env.HELPDESK_LIST_FILTER}` + '[{field:' + column + ',op:' + sort + ',value:' + value + '}]', params)
  .pipe(map((data) => data));

Artículos relacionados