本教程第 37 篇文章,我们介绍了如何在 SAP ABAP 系统 SICF 事务码
里,开发一段 ABAP 代码,用来响应通过浏览器或者第三方工具,比如 curl,Postman 发起的 HTTP 请求。
在实际的 ABAP 集成项目中,这种方式非常使用。比如客户的第三方系统或者应用,通过 HTTP 协议,向 ABAP 系统发起数据交互请求,我们开发的 ABAP 程序,就可以响应这些请求。
本教程第 37 篇文章,通过浏览器访问我们开发好的 ABAP 类,收到了你好
的回应。
后来有朋友催更后续步骤了,本文就来解答,介绍如果第三方应用通过 HTTP 请求传递更多参数,应该如何实现。
如何响应通过 HTTP 请求 url 传递进来的参数
先看实现效果:
通过 Url http://<host>:50055/sap/crm/csdn?name=jerry&age=41
向 ABAP 服务器发起请求,其中问号后面的 name=jerry&age=41
是通过键值对
的方式进行的参数传递。参数名称为 name
和 age
,参数值为 jerry
和 41
。多于一个的参数,通过符号 &
连接。
地址栏里输入 url 之后,点击回车,能看到 ABAP 程序发送的回复。回复只是简单的将 HTTP 请求参数值打印出来,证明 ABAP 服务器端接收到了这两个参数并进行了处理。
如何响应通过 HTTP 请求发送过来的 JSON 数据
除了请求方通过浏览器地址栏里拼接 url 参数的方式,传递参数之外,第三方通过 Postman 等工具,以 HTTP POST 类型的请求传递数据,也是实际 ABAP 集成项目中经常遇到的场景。
我们首先打开 Postman 这个软件,新建一个 HTTP 请求,类型指定为 POST
, 然后点击 Body 面板,选择 raw 和 JSON,如下图所示:
Postman 点击 Send 按钮之后,收到 HTTP 200 OK 的响应状态码,并且将 JSON 格式的请求内容,以字符串拼接的方式,返回给 Postman.
源代码和实现分析,见此处。