如何接收 Post 请求正文并将该正文传递给我在环回中的函数

Posted

技术标签:

【中文标题】如何接收 Post 请求正文并将该正文传递给我在环回中的函数【英文标题】:How to receive Post request body and pass that body to my function in loopback 【发布时间】:2021-12-11 12:54:34 【问题描述】:

我想创建动态模型、存储库和控制器

export async function dynamicModelsDemo(app: any, modelData: any): Promise<boolean> 
  console.log("ModelData",modelData);

  // assume that this def can be created dynamically (at runtime), e.g. from database info
  const modelDef = new ModelDefinition(
    name: 'contact',
    properties: 
      id: 
        type: 'Number',
        required: true,
        length: null,
        precision: 10,
        scale: 0,
        id: 1,
      ,
      name: 
        type: 'String',
        required: false,
        length: 512,
        precision: null,
        scale: null,
      ,
    ,
  );

  // tryin' to extend Entity with new fields
  const DynamicModel = defineModelClass<typeof Entity, id: number; title?: string>(
    Entity,
    modelDef,
  );

  const BookRepository = defineCrudRepositoryClass(DynamicModel);

  inject(`datasources.memory`)(BookRepository, undefined, 0);
  const repoBinding = app.repository(BookRepository);

  const basePath = '/contact';

  const DynamicController0 = defineCrudRestController(DynamicModel, basePath);
  inject(repoBinding.key)(DynamicController0, undefined, 0);
  app.controller(DynamicController0);

  console.log(basePath);

  return new Promise(function (resolve, reject) 
    resolve(true);
  );

我需要帮助,我应该如何创建接收请求正文的 Post 方法,并且该正文将传递给我上面提到的函数,

目前我正在通过这个端点调用 dynamicModelsDemo 函数,

@get('/ping/build', 
modelData : ,
responses: 
  '200': 
    description: 'Test models assemble',
  ,
,


)
  async build(): Promise<boolean> 
    return dynamicModelsDemo(this.localApp,this.modelData);
  

我想将此@get 转换为@post,以便我可以将我请求的正文传递给此函数..

【问题讨论】:

【参考方案1】:

这很好用,我想这就是我要找的东西:

@post('ping/createobject')
async createObject(
    @requestBody() model: any
  ):Promise<boolean> 
    return dynamicModelsDemo(this.localApp,model);
  

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何接收 Post 请求正文并将该正文传递给我在环回中的函数的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 WebClient 将空正文传递给 POST 端点

如何将 JSON 作为参数传递给控制器​​ .net api 中的 Post 方法

如何将json POST数据作为对象传递给Web API方法?

如何将 json 列表传递给 Flutter 中的 http 请求(post)正文?

如何将两个不同的对象传递给邮递员中的 POST 请求以测试 RESTful API?

如何使用asp.net c#将HTML格式的电子邮件正文传递给javascript函数