前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP ABAP 调用RESTful API测试用例

SAP ABAP 调用RESTful API测试用例

作者头像
matinal
发布2020-11-30 10:04:51
1.5K0
发布2020-11-30 10:04:51
举报
文章被收录于专栏:SAP TechnicalSAP Technical
代码语言:javascript
复制
REPORT ZMJ_GETAPI.
 
 
DATA: LEN         TYPE        I, "发送报文长度
      LEN_STRING  TYPE        STRING,
      URL         TYPE        STRING, "接口地址
      HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT, "http客户端
      POST_STRING TYPE        STRING,
      RESULT      TYPE        STRING.
DATA: IT_HEADER  TYPE TIHTTPNVP,
      GV_JSON_IN TYPE STRING VALUE '{"IT_INPUT":[{"CUSTOMER":"12345678","PERNR":"00190935"}]}'.
START-OF-SELECTION.
  URL = 'http://10.*.*.*:8001/api_sapnew/ZIF_DATA'.
  "'http://10.X.X.X:8081/api/test/gettest'.
 
  "创建http客户端
  CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL
    EXPORTING
      URL                = URL
    IMPORTING
      CLIENT             = HTTP_CLIENT
    EXCEPTIONS
      ARGUMENT_NOT_FOUND = 1
      PLUGIN_NOT_ACTIVE  = 2
      INTERNAL_ERROR     = 3
      OTHERS             = 4.
  "设定传输请求内容格式以及编码格式
  HTTP_CLIENT->REQUEST->SET_CONTENT_TYPE( CONTENT_TYPE = 'application/json; charset=utf-8' ).
 
  "设置http method 为Get
  HTTP_CLIENT->REQUEST->SET_METHOD( IF_HTTP_REQUEST=>CO_REQUEST_METHOD_POST ).
  "IF_HTTP_ENTITY~CO_REQUEST_METHOD_GET
 
  "设置待传输内容长度
  LEN = STRLEN( GV_JSON_IN ).
  "设置调用方法
  CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
    EXPORTING
      NAME  = '~request_method'
      VALUE = 'POST'.
  "设置传入字符串
  CALL METHOD HTTP_CLIENT->REQUEST->SET_CDATA
    EXPORTING
      DATA   = GV_JSON_IN
      OFFSET = 0
      LENGTH = LEN.
  "发送
  CALL METHOD HTTP_CLIENT->SEND
    EXCEPTIONS
      HTTP_COMMUNICATION_FAILURE = 1
      HTTP_INVALID_STATE         = 2
      HTTP_PROCESSING_FAILED     = 3
      HTTP_INVALID_TIMEOUT       = 4
      OTHERS                     = 5.
 
  "接收
  CALL METHOD HTTP_CLIENT->RECEIVE
    EXCEPTIONS
      HTTP_COMMUNICATION_FAILURE = 1
      HTTP_INVALID_STATE         = 2
      HTTP_PROCESSING_FAILED     = 3.
  "提取返回字符串
  RESULT = HTTP_CLIENT->RESPONSE->GET_CDATA( ).
  "将字符串中的回车符替换,否则abap将会识别为#
  REPLACE ALL OCCURRENCES OF REGEX '\n' IN RESULT WITH SPACE.
  "获取接口返回的数据
*  RESULT = HTTP_CLIENT->RESPONSE->GET_CDATA( ).
 
  WRITE: RESULT.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档