首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用loopback4解析xml请求正文

使用loopback4解析xml请求正文
EN

Stack Overflow用户
提问于 2020-12-24 21:38:40
回答 1查看 89关注 0票数 0

我正在寻找现有正文解析器的扩展..我需要使用loopback4节点解析xml数据。我尝试将content-type设置为application/xml,但它给出了一个不受支持的内容类型错误。不支持xml。我在loopback4文档中没有找到任何示例。

我试过下面的代码:

代码语言:javascript
复制
@post('/dashboard/parseXmlRequest/', {
    responses: {
      '200': {
        description: 'parses the xml and sends the response',
        content: {
          'application/xml': {
            schema: {
              type: 'any'
            }
          }
        },
      },
    },
  })
  async parseXmlRequest(
    @requestBody({
      content: {
        'application/xml': {
          schema: {type: 'object'},
        },
      },
    })
    data: object) {
    try {
      console.log("request : ", data);
      return await this.myService.deviceResponse(body);
    }
    catch (err) {
      console.log(err);
      return err;
    }
  }

你能帮帮我吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-04-14 03:12:26

你有什么进展吗?

作为变通方法,我使用text/plain代替xml;

代码语言:javascript
复制
@post('/data/import', {
    responses: {
      '200': {
        description: 'Import XML',
        content: {'application/json': {type: 'any' }},
      },
    },
  })
  async import(
    @requestBody({
      content: {
        'text/plain': {
        },
      },
    })
    xml : string,
  ): Promise<string> {
    return this.dataRepository.import(xml);
  }

async import( xml: string) : Promise<string> {

    try {
      console.log("XML =>",xml);
      const result = await xml2js.parseStringPromise(xml, {mergeAttrs: true});
      const json = JSON.stringify(result, null, 4);
      return json;
    } catch (err) {
      console.log(err);
      return Promise.resolve(err);
    }

  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65439085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档