问题描述
我正在使用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 (将#修改为@)