【问题标题】:How to perform a post request with loopback 4如何使用环回 4 执行发布请求
【发布时间】:2019-03-07 13:28:08
【问题描述】:

经过一番研究,我发现了允许我使用 get 方法进行一些查询的环回代理服务。但我不知道如何使用请求正文中的数据执行 POST 请求。

我的服务

import {getService} from '@loopback/service-proxy';
import {inject, Provider} from '@loopback/core';
import {StorageApiDataSource} from '../datasources';
/**
 * user for  both storageApi service and authApi service
 */
export interface StorageApiService {
  // this is where you define the Node.js methods that will be
  // mapped to the SOAP operations as stated in the datasource
  // json file.

  getrestdata(id?: number): Promise<StorageApiResponseData>;
  saveFile(token?: string,requestBody:any): Promise<StorageApiResponseData>;

}
export interface StorageApiResponseData {
  file_id: string;
  direct_url: string;
}

export class StorageApiServiceProvider implements Provider<StorageApiService> {
  constructor(
    // storageApi must match the name property in the datasource json file
    @inject('datasources.storageApi')
    protected dataSource: StorageApiDataSource = new StorageApiDataSource(),
  ) {}

  value(): Promise<StorageApiService> {
    return getService(this.dataSource);
  }
}

【问题讨论】:

    标签: javascript loopback new-webserviceproxy


    【解决方案1】:

    在您的数据源文件中,在操作数组中为您的 post 函数添加一个模板,其中 postFunction 是函数名称。并在您的服务接口中添加相同的内容。

    "operations": [{
          "template": {
            "method": "POST",
            "url": "{POST-API-URL}",
            "headers": {
              "accepts": "application/json",
              "content-type": "application/json"
            },
            "json": {
              "param1": "{value1}",
              "param2": "{value2}",
              "param3": "{value3}"
            }
          },
          "functions": {
            "postFunction": [
              "value1",
              "value2",
              "value3"
            ]
          }
        }]
    

    【讨论】:

      【解决方案2】:

      经过深思熟虑,我终于找到了答案。我们只需要将方法定义为 POST 并传递一些参数,这些参数将用作这些请求表单参数的变量。 希望它可以帮助这里的人。

       {
        "name": "SendNotif",
          "connector": "rest",
          "baseURL": "",
          "crud": false,
         "options": {
         "headers": {
                 "accept": "application/json",
                 "authorization": " MY AUTH KEY",
                  "content-type": "application/json"
                    }
        },
      "operations": [
        { "template": {
           "method": "GET",
           "url":"MY URL"
      
           },
           "functions": {
            "send_sms": ["PARAM1","PARAM2","PARAM3"]
          },
         "template": {
           "method": "POST",
           "url":"MY URL"
      
           },
           "functions": {
            "send_sms":["PARAM1","PARAM2","PARAM3"]
          }
       }
      ]
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-14
        • 1970-01-01
        • 2018-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多