sap webapi接口

打印 上一主题 下一主题

主题 1434|帖子 1434|积分 4302

接到任务说学一下创建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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表