回送4控制器调用另一个服务代理并将其传递给模型

问题描述

我正在使用Loopback 4,并且试图通过模型传递一个API调用一个API。

我能够将简单的东西(例如数字和字符串)传递给我正在创建的另一个API,但是我无法实例化MODEL,设置值并将其传递给API。我收到422“无法处理的实体”错误

我的服务:

...

export interface SpendingLimitProxy {
  subscriberSpendingLImits(wtfBody: SubscriberSpendingLimitsRequest): Promise<Response>;
}

...

我的数据源:

...

const config = {
  name: 'spendingLimitProxy',connector: 'rest',debug: true,options: {
    strictSSL: false,headers: {
      accept: 'application/json',"content-type": 'application/json',}
  },operations: [
    {
      template: {
        method: "POST",url: 'http://[::1]:3002/subscriberSpendingLimits/',fullResponse: true,body: {
          wtfBody: '{wtfBody:SubscriberSpendingLimitsResponse}',}
      },functions: {
        subscriberSpendingLimits: ['wtfBody'],}
    }
  ]
};

我的api控制器

...

@post('/subscriberSpendingLimits/',{
    responses: {
      '200': SSL_RESPONSE,},})
  async subscriberSpendingLimits(@requestBody({
    content: {
      'application/json': {
        schema: {
          $ref: '#/components/schemas/SubscriberSpendingLimitsRequest',description: 'The request Body.',}) _requestBody: SubscriberSpendingLimitsRequest): Promise<unkNown> {

    const sslRequest = new SubscriberSpendingLimitsRequest;
    sslRequest.amount = _requestBody.amount;
    sslRequest.mdn = _requestBody.mdn;

    console.log("Finding a spending Limit to return");
    console.log("MDN " + sslRequest.mdn);
    console.log("amount " + sslRequest.amount);


    //Logic for a subscriber look up

    return {
      amount: sslRequest.amount,status: 'WTLB4',statusMessage: 'What the Loopback 4 ' + sslRequest.mdn,headers: Object.assign({},this.req.headers),};

  };

...

主控制器

...

const wtfBody = new SubscriberSpendingLimitsRequest;

wtfBody.accountId = '987654321';
wtfBody.amount = 100;
wtfBody.mdn = 123456789;
wtfBody.transactionId = this._transactionId;

 {
   mdn: 123456789,amount: 100,transactionId: this._transactionId,accountId: '987654321',};

const spendingLimitProxyResponse = await this.spendingLimitProxy.subscriberSpendingLimitsw(wtfBody);

...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...