2015-06-16 2 views
0

Я не знаю, возможно ли это с данными Ember, хотя я сомневаюсь, но API, с которым я работаю, поддерживает возможность создавать «или» запросы, удаляя URL-адреса,Пользовательские вызовы API с данными Ember

/v1/subjects?first_name||last_name=*dr* 

это приведет в запросе, который выглядит как

select * 
from subjects 
where first_name like '%dr%' 
or last_name like '%dr%' 

Однако, это возможно даже при данных Ember для получения такого запроса?

this.store.find('subject', { 
    ... 
}); 

Учитывая то, как уголек данных строит имена полей запроса от свойств объекта, представляется маловероятным, что он будет поддерживать этот вид пользовательского запроса.

Если это так, то какой был бы лучший способ для создания такого пользовательского запроса? Просто используя jquery для написания пользовательских запросов ajax?

ответ

4

Вы хотите переопределить метод urlForFindQuery в своем адаптере. Глядя на источник here по умолчанию, вы, вероятно, может придумать что-то довольно просто:

export default DS.RESTAdapter.extend({ 
    urlForFindQuery(query, modelName) { 
     const url = this._buildURL(modelName); 
     return `${url}?first_name||last_name=*${query.search_term}*`; 
    } 
}); 

Очевидно, что это не полностью рабочий пример, но, надеюсь, вы получите идею.

Смежные вопросы