#angular #typescript #loopback
#angular #typescript #обратная связь
Вопрос:
Я сгенерировал общий SDK из loopback с помощью loopback-sdk-builder
и получил один из API в виде
public getData(customHeaders?: Function): Observable<any> { }
Выполняемый вызов должен иметь параметры запроса в URL, и, следовательно, мне нужно отправить пользовательские заголовки в call, например,
this.partnerApi.getData(()=>{header: {partnerId: 101}})
API обратной связи является
Partner.remoteMethod('getData', {
accepts: {arg: 'req', type: 'object',http: function(ctx) {
var req = ctx.req;
return req;
}},
returns: {arg: 'detail', type: 'object'},
http: {"verb": "get"}
});
который генерируется loopback-sdk-builder как,
public getData(customHeaders?: Function): Observable<any> { }
Мне нужно вызвать этот сгенерированный API, и вызов (GET), наконец, должен быть
http://127.0.0.1:3000/api/Partners/getData?partnerId=1001
Вышеупомянутый вызов был исправен с AngularJS Loopback, но эта проблема связана с Angular6 Loopback
Любая помощь о том, как этого добиться, была бы оценена.
Комментарии:
1. это кажется противоречием. Параметры запроса означают, что вы отправляете информацию в самом URL, например GET localhost:8080/api /data ? partnerId=101 . Вы также можете отправить информацию в заголовках, но тогда это не будут параметры запроса
2. также опубликуйте свой сервисный код, также это неправильный способ отправки параметра запроса
3. спасибо за ответ @Joakim. Давайте еще больше сузим круг поиска. Допустим, мне нужно передать параметр
customHeaders
при вызовеthis.partnerApi.getData()
. Есть какие-либо зацепки по этому поводу?4. что ж, ответ на ваш вопрос заключается в том, что вы бы вызвали api, подобный GET localhost:8080/api /data?customHeaders=someStringValue. Но кажется неправильным иметь параметр запроса, называемый пользовательскими заголовками . Если вы хотите использовать параметры запроса, вы не должны называть их заголовками. Если что-то называется customHeaders, вероятно, предполагается, что это заголовки, а не параметры запроса.
5. да, вы поняли, но как вызвать эту функцию
this.partnerApi.getData(()=>{header: {partnerId: 101}})
, чтобы она правильно срабатывала?