You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LoopBack Post API 如何接收无预定义参数的Raw Body请求

解决LoopBack模型接收Raw Body格式POST请求的问题

要让你的LoopBack模型正确接收Raw Body形式的POST请求,只需要修改remoteMethod的accepts配置,添加一个捕获请求体的参数即可。下面是调整后的完整代码:

'use strict';
module.exports = function (Message) {
  // 修改方法,新增rawBody参数来接收请求体
  Message.hl7_message = function (rawBody, cb) {
    // 这里可以根据业务需求处理rawBody,比如打印查看内容
    console.log('收到的Raw Body:', rawBody);
    cb(null, 'Success... 已成功接收请求体');
  }
  Message.remoteMethod(
    'hl7_message',
    {
      http: { path: '/hl7_message', verb: 'post', status: 200, errorStatus: 400 },
      accepts: [
        // 添加这个配置来捕获整个Raw Body
        {
          arg: 'rawBody',
          type: 'string', // 如果是JSON格式的Raw Body,可改为'object'
          source: 'body', // 指定参数来源为请求体
          required: true, // 强制要求请求携带Body,可根据需求调整
          description: 'Raw格式的请求体内容'
        }
      ],
      returns: { arg: 'status', type: 'string' }
    }
  );
};

关键配置说明:

  • source: 'body'是核心设置,它告诉LoopBack将整个请求体赋值给对应的参数
  • type需匹配实际请求体类型:
    • 如果是HL7这类纯文本格式的消息,用'string'即可
    • 如果是JSON格式的Raw Body,直接设为'object',LoopBack会自动帮你解析成JavaScript对象
  • required: true可以避免空请求的情况,若允许无Body的请求,可去掉这个配置

修改完成后,POST请求发送的Raw Body就会被正确传递到hl7_message方法的rawBody参数中,你可以在方法内对这个参数做后续的业务处理了。

内容的提问来源于stack exchange,提问作者H Dindi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:17:05