2016-08-16 5 views
0

Недавно я попытался сделать несколько простую реализацию обработчика POST HTTP с помощью LoopBack, но этого не удалось. В этом случае. Когда я создаю класс модели, кажется, что я могу только добавить удаленный метод для реализации бизнес-функций. Но что, если я хочу правильно обработать запрос в ответ на запрос POST? Не очень RESTFul добавлять специальные методы с именами, а не выполнять правильную обработку запроса HTTP-глагола. Есть ли способ достичь этого? Спасибо.Как определить ответ отклика в StrongLoop/LoopBack

+0

Возможно, вы захотите рассмотреть [удаленные крючки] (https://docs.strongloop.com/display/public/LB/Remote+hooks) или [рабочие крючки] (https://docs.strongloop.com/display/public/LB/Operation + hooks), если вы хотите добавить дополнительную логику для своей модели поверх стандартных функций CRUD, открытых автоматически созданным REST API. –

+1

Спасибо, Иван. То, что мне было нужно, это заменить предопределенное поведение, и ответ Ричарда полностью соответствовал цели. – redlab

ответ

1

Вы можете определить свой собственный глагол и путь для метода следующим образом:

MyModel.myMethod = function(...) { ... } 

MyModel.remoteMethod('myMethod', { 
    accepts: ..., 
    returns: ..., 
    http: { 
    verb: 'post', 
    path: '/' 
    } 
}); 

Когда прикрепить функцию myMethod к /api/MyModels/ конечной точке.

Для получения дополнительной документации на удаленных методах извлекает следующее:

Для 2-го звена, sharedMethod является то, что будет создаваться при использовании функции MyModel.remoteMethod(...).

+0

Привет, спасибо. Это то, что я пропустил. Фактически, мне нужно было «понизить» мою модель от «PersistedModel» до «Model», чтобы включить мою удаленную функцию. В противном случае я придерживался обычного поведения метода POST. – redlab

+0

Вы также можете [отключить удаленный метод] (https://apidocs.strongloop.com/loopback/#model-disableremotemethod), если хотите, чтобы все остальные методы 'CRUD' оставались. – richardpringle

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