Skip to content

报文的类型是有很多种的,常用的有定长报文、键值报文、XML报文、JSON报文、二进制报文等,以下就对这几种报文做相应的介绍,并配简单的示例。 开发门户 > API管理 > 我的发布中,如下表格中的发布类型对应的转换类型为支持的可以配置报文转换规则,可以自定义发送业务服务的请求头、请求报文和业务服务返回客户端的响应头、响应报文。

发布类型请求报文转换响应报文转换
HTTP穿透支持支持
WebService穿透支持支持
HTTP路由不支持不支持
WS转HTTP支持支持
HTTP转WS支持支持
SAP转HTTP不支持不支持
SAP转WS不支持不支持
JDBC转HTTP不支持不支持
JMS转HTTP支持不支持
JMS转WS支持不支持
HTTP转JMS支持不支持
JMS穿透支持不支持
GRPC转HTTP不支持不支持
Dubbo转HTTP不支持不支持
API编排不支持不支持

报文转换场景

说明:

  1. 如下的示例报文为JSON格式。
  2. 所有示例均使用HTTP穿透发布类型展示。

请求报文:

json
{"id":"33","name":"名称1","isbn":"isbn1","author":"作者1","price":45.32}

响应报文:

json
{
  "id": "33",
  "name": "名称1",
  "address": "地址1",
  "price": 45.32,
  "book": {
    "id": "1",
    "name": "书籍1",
    "chapters": {
      "name": "第一章",
      "description": "第一章描述"
    }
  },
  "pics": [{
        "id": "1",
        "name": "图片1"
      },{
      "id": "2",
      "name": "图片2"
    }
  ]
}

场景1:请求报文和响应报文字段名称修改

请求报文转换规则:

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文体$.id$.newId
响应报文转换报文体$.name$.newName
响应报文转换报文体$.book.name$.book.bName修改的书籍名称
响应报文转换报文体$.pics[1].name$.pics[1].pName

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“接口名称”,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景2:请求报文和响应报文字段名称增加

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文体$.URLwww.baidu.com
响应报文转换报文体$.desc描述信息
响应报文转换报文体$.book.time2024-01-01
响应报文转换报文体$.pics[0].title图片标题1

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“接口名称”,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景3:请求报文和响应报文字段名称删除

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文体$.author
响应报文转换报文体$.address
响应报文转换报文体$.book.name
响应报文转换报文体$.pics[1].id

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击操作栏中的“编辑”按钮,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景4:请求报文和响应报文字段值修改

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文体$.author作者1-修改
响应报文转换报文体$.address地址1-修改
响应报文转换报文体$.book.name书籍1-修改
响应报文转换报文体$.pics[1].name图片2-修改

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击操作栏中的“编辑”按钮,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景5:使用报文体中的某个字段值作为源字段的值

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文体$.author$.isbn
响应报文转换报文体$.pics[1].name$.pics[0].name

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击操作栏中的“编辑”按钮,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景6:修改字段名,并使用变量值作为新字段的值

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文体$.author$.newAuthor$.isbn
响应报文转换报文体$.pics[0].name$.pics[0].newName$.pics[0].name

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击操作栏中的“编辑”按钮,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景7:请求头中的字段使用请求体中的某个字段值作为值

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文头C-KeyC-Key-new$.isbn

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击操作栏中的“编辑”按钮,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景8:当新增的请求头已存在时,在原先的基础上新增一个value

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文头C-Keyabc

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击操作栏中的“编辑”按钮,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景9:请求报文xml转json,响应报文json转xml

请求报文xml:

xml
<?xml version="1.0" encoding="UTF-8" ?>
<request>
  <id>33</id>
  <name>名称1</name>
  <isbn>isbn1</isbn>
  <author>作者1</author>
  <price>45.32</price>
</request>

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击操作栏中的“编辑”按钮,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

场景10:XML格式响应报文转换

请求报文示例

xml
<?xml version="1.0" encoding="UTF-8" ?>
<book>
    <id>33</id>
    <name>名称1</name>
    <isbn>isbn1</isbn>
    <author>作者1</author>
    <price>45.32</price>
</book>

响应报文示例

xml
<?xml version="1.0" encoding="UTF-8" ?>
<book>
   <id>33</id>
   <name>名称1</name>
   <address>地址1</address>
   <price>45.32</price>
   <detail>
      <id>1</id>
      <name>书籍1</name>
      <chapters>
         <name>第一章</name>
         <description>第一章描述</description>
      </chapters>
   </detail>
</book>

请求报文转换配置实现【/book/id】字段修改为【/book/new_id】 响应报文转换配置实现【/books/address】的值赋给【/books/price】 响应报文转换配置如下:

转换类型字段类型字段名称新字段名称字段赋值Value是否是变量
请求报文转换报文体/book/id/book/new_id/book/id
响应报文转换报文体/books/address/books/price

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“接口名称”,即可查看到接口的详细信息。

在"开发门户 > API管理 > 我的发布"页面,选择自己的接口,点击“操作”中的“测试”按钮,即可进入测试页面。

在测试页面,在“请求Body”中填写请求报文,点击“测试”按钮,即可查看到转换后的响应报文。

如下图片展示了请求报文转换后的请求报文。

注意

源xml报文转换json格式方式如下:

1.用在线转换工具将xml格式转为json格式,在线转换工具可参考: https://www.bejson.com/xml2json/index.html

2.复制json格式报文并且修改报文中的【-】为【@】