Loopback 4-POST请求数据源模板

问题描述 投票:1回答:1

我在Loopback 4数据源文件中声明POST操作时遇到问题。

我的模板如下:

    {
      "template": {
        "method": "POST",
        "url": "https://reqres.in/api/login"
      },
      "functions": {
        "login": []
      }
    }

我的服务界面

  login(email: string, password: string): Promise<any>;

我的控制器

 @post('/loginTest')
  async testingLogin(
    @requestBody({
      content: {
        'application/json': {
          schema: getModelSchemaRef(TestModel, {
            title: 'Post',
          }),
        },
      },
    })
    testModel: TestModel, )
    : Promise<any> {   
     // TEST MODEL CONTAIN JSON OBJECT {email: "" , password: ""}
    console.log("Test Model Representation: ", testModel)
    try {
      var response = await this.loginService.login(testModel.email, testModel.password);

    } catch (error) {
      console.log("error", error)

    }
    console.log("Fake POST response", response)
    return response;
  };

我正在使用这个假API:https://reqres.in/api/login我收到以下错误:

Test Model Representation:  { email: 'string', password: 'string' }
error Error: {"error":"Missing email or username"}
    at callback (D:\loginApp\node_modules\loopback-connector-rest\lib\rest-builder.js:541:21)
    at D:\loginApp\node_modules\loopback-datasource-juggler\lib\observer.js:269:22
    at doNotify (D:\loginApp\node_modules\loopback-datasource-juggler\lib\observer.js:157:49)
    at RestConnector.ObserverMixin._notifyBaseObservers (D:\loginApp\node_modules\loopback-datasource-juggler\lib\observer.js:180:5) {
  statusCode: 400,
  message: '{"error":"Missing email or username"}'
}
Fake POST response undefined

看来我的电子邮件和密码未通过?谢谢你的帮助。

loopback openapi loopback4
1个回答
0
投票

您在数据源文件中定义的login函数应与服务接口匹配。那意味着它将是这样的:

"functions": {
   "login": ["email", "password"]
}
© www.soinside.com 2019 - 2024. All rights reserved.