sap webapi接口

接到任务说学一下创建api接口,所以记录一下

web api的概念:

调用外部web api还没弄,到时再说,这次只记录SAP 发布web api

事务码 se24 创建类

在INTERFACE中输入IF_HTTP_EXTENSION

在methods输入 GET和POST

双击第一栏的IF_HTTP_EXTENSION~HANDLE_REQUEST,进入代码编辑页面

输入自己编辑的代码,

METHOD if_http_extension~handle_request.
  DATA: lv_method TYPE string.  显式声明变量
  lv_method = server->request->get_method( ).  赋值操作

  CASE lv_method.

    WHEN 'GET'.
      me->get( server ).

    WHEN 'POST'.
      me->post( server ).

    WHEN OTHERS.
      server->response->set_status( code = 405 reason = '请求方法不支持请联系管理员' ).

  ENDCASE.

* lv_verb is http method such as GET, POST etc
  DATA lv_verb TYPE string .
  DATA lv_json TYPE string .

  lv_json = '{"value": [{"ID": 0,"Name": "Food"},{"ID": 1, "Name": "Beverages"}, {"ID": 2, "Name": "Electronics"}]}'.

* Only handles GET method
  lv_verb = server->request->get_header_field( name = '~request_method' ).

  CHECK lv_verb = 'GET'.
  server->response->set_status( code = 200 reason = 'Ok' ).
  server->response->set_content_type( 'application/json' ).
  server->response->set_cdata( data = lv_json ).
ENDMETHOD.

这里不编写代码的话之后测试接口会报错

选择第二栏的get,再点击parameters,加上server

同样的步骤给post也加上

不然会之前程序那里会报错

点击保存后激活

事务码SICF

创建服务并激活

填写描述

输入登录数据,如果不维护,系统对接则需要传入这些数据

在处理器清单这填写刚刚创建的类

点击保存,回到刚刚的页面

激活服务

测试服务

数据就这么水灵灵地出来了

注:注意传参是parameters 还是body,SAP目前是在parameters。如果想放在body,还需要测试

注:可参考生产系统的类ZCL_REST_IF_SD02

注:测试软件Postman

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值