API网关BODY传输的配置和调用详解

本文涉及的产品
云原生 API 网关,700元额度,多规格可选
简介: 在API网关上开放服务时,不少API开放者对于在API网关上怎样配置BODY有些迷茫,导致花费在配置和调试上的时间较多,本文将针对API网关POST方法下,各种情况的Body配置进行详细介绍,希望能减少用户的困惑。

在API网关上开放服务时,不少API开放者对于在API网关上怎样配置BODY有些迷茫,导致花费在配置和调试上的时间较多,本文将针对API网关POST方法下,各种情况的Body配置进行详细介绍,希望能减少用户的困惑。

常用的Content-Type

在进行HTTP的POST请求中,需要配置Content-Type指定body的类型。下面以常见的3种进行举例。

Content-type 描述
application/x-www-form-urlencoded 数据被编码为名称/值对,数据以form的形式传输
application/json 表示body是一个JSON数据格式
application/octet-stream 二进制流数据,如常见的文件下载

注:API网关不支持multipart形式进行文件上传。如果有文件上传,需要将文件进行Base64后放到Body中传输,而且Body大小不能超过2M,如果有大于2M的内容,您可以结合OSS工具使用(通过OSS上传文件,API网关只传输地址)。

API Body配置

首先,我们需要知道body应该以什么形式传给后端。下面将分别针对3种类型的content-type进行API网关配置和调用的介绍。

1、application/x-www-form-urlencoded

这种形式表示body以Form形式传输,API网关配置如下:

  • 1、选择Method为POST
  • 2、在入参定义中选择参数位置为“Body”进行配置
    api网关form配置

调用以postman工具为例

Jietu20180930_161234

2、application/json

这种形式表示body是JSON格式,一般如果后端是Spring MVC的API,参数需要以该形式传输。
在API网关配置时,需要勾选“非Form表单数据,比如JSON字符串、文件二进制数据等”。

Jietu20180930_161904
可以把body格式放到"Body内容描述"里面,可以自动生成文档。

另外,在下一页“定义API后端服务”部分,需要设置Content-Type值为“application/json”或者“透传客户端”。
Jietu20180930_162356

调用以postman工具为例

header需要修改Content-Type为“application/json”.
Jietu20180930_162643

3、application/octet-stream

这种content-type一般用于上传一个文件或者图片。API网关的配置如下:
Jietu20180930_163245

注意:下一页“定义API后端服务”部分,可以设置Content-Type值为“application/octet-stream”或者“透传客户端”。
Jietu20180930_163140

调用以postman工具为例:

header需要修改Content-Type为“application/octet-stream”.
Jietu20180930_163809

以上是API网关常见的几种数据类型传输,如果有其他类型,可以参考application/json和application/octet-stream的配置方式。

目录
相关文章
|
19天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
34 4
|
3天前
|
监控 网络协议 数据安全/隐私保护
vos3000外呼系统如何检查落地网关配置正常,路由分析
使用VOS3000外呼系统时,确保呼叫畅通的关键在于检查落地网关配置和进行路由分析。具体步骤包括:登录管理界面,检查网关状态和配置,配置外呼规则,测试拨打电话,以及分析日志和报告。通过这些步骤,可以确保系统稳定运行,提高外呼成功率和通话质量。
|
3月前
|
前端开发 API 网络架构
【Azure 应用服务】能否通过 Authentication 模块配置 Azure AD 保护 API 应用?
【Azure 应用服务】能否通过 Authentication 模块配置 Azure AD 保护 API 应用?
|
3月前
|
安全 API 网络安全
【Azure API 管理】APIM如何配置客户端证书的CRL检测策略
【Azure API 管理】APIM如何配置客户端证书的CRL检测策略
|
3月前
|
测试技术 API
【API管理 APIM】如何查看APIM中的Request与Response详细信息,如Header,Body中的参数内容
【API管理 APIM】如何查看APIM中的Request与Response详细信息,如Header,Body中的参数内容
|
3月前
|
安全 前端开发 Java
微服务网关及其配置
微服务网关及其配置
104 4
|
3月前
|
存储 API C#
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中
|
3月前
|
JSON 算法 API
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
|
3月前
|
API
【Azure 环境】在Azure活动目录中的应用注册,给应用添加API权限时发现API权限配置缺失
【Azure 环境】在Azure活动目录中的应用注册,给应用添加API权限时发现API权限配置缺失
|
3月前
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心