使用ABAP调用第三方接口

接口地址

http://jsonplaceholder.typicode.com/albums/1/photos

需求:

使用 ABAP 编程语言调用第三方接口获取数据,并以表格形式输出

*&---------------------------------------------------------------------*
*& Report ZTJR0008
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztjr0008.

DATA: lc_http_client   TYPE REF TO if_http_client, "实例化
      lv_url           TYPE string, "定义服务地址
      lv_result TYPE string. "定义返回数据

*定义与返回数据相同的结构
TYPES: BEGIN OF ty_output,
         albumid      TYPE int1,
         id           TYPE int1,
         title        TYPE string,
         url          TYPE string,
         thumbnailurl TYPE string,
       END OF ty_output.

*多条数据的情况,需要定义相同结构的内表
DATA: lt_output TYPE TABLE OF ty_output.
*第三方 API 地址
lv_url = 'http://jsonplaceholder.typicode.com/albums/1/photos'.
*创建 http 请求
cl_http_client=>create_by_url( EXPORTING url = lv_url IMPORTING client = lc_http_client ).
*设置请求头
lc_http_client->request->set_header_field( EXPORTING name  = 'Content-Type' value = 'application/json;charset=utf-8' ).
*设置调用方式
lc_http_client->request->set_method('GET').
*发送请求
lc_http_client->send( ).
*接受http响应
lc_http_client->receive( ).

IF sy-subrc = 0.
  lv_result = lc_http_client->response->get_cdata( ).
ENDIF.
*将字符串反序列化为JSON对象,然后赋值给内表
/ui2/cl_json=>deserialize( EXPORTING json = lv_result CHANGING data = lt_output ).
*输出结果
cl_demo_output=>display( lt_output ).
*关闭http连接
lc_http_client->close( ).

结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值