ABAP 实现发布RESTful服务供外部调用示例
1. 创建实施类
- 事务代码:SE24
- 设置需要实现的接口:IF_HTTP_EXTENSION
2. 实现实施类
主要实现的方法:IF_HTTP_EXTENSION~HANDLE_REQUEST
实现代码:
METHOD if_http_extension~handle_request. TYPES: BEGIN OF ty_input, rows TYPE i, END OF ty_input. DATA: l_input TYPE ty_input. DATA: i_string TYPE string, o_string TYPE string. "Get Importing Json i_string = server->request->if_http_entity~get_cdata( )." "Deserialize Json to data /ui2/cl_json=>deserialize( EXPORTING json = i_string CHANGING data = l_input ). "Get Return Data SELECT * FROM sflight INTO TABLE @DATA(lt_sflight) UP TO @l_input-rows ROWS. "Serialize Data to Json o_string = /ui2/cl_json=>serialize( lt_sflight ). "Set the return data format CALL METHOD server->response->if_http_entity~set_content_type EXPORTING content_type = 'application/json'. "set exporting data server->response->set_cdata( EXPORTING data = o_string ). ENDMETHOD.
3. 定义RESTful服务
- 事务代码:SICF
- 新建子元素
- 设置服务处理器
- 设置默认登录信息(如果不设置,访问数据则需要SAP账号认证)
- 激活服务
4.测试服务
- 直接测试服务是否可访问
- 使用第三方工具APIPost SoaUI测试
- 设置Json查询数据
- 设置SAP账号认证(SICF未设置默认认证账号时使用)
- 发送请求,拿到返回数据
- 设置Json查询数据
post SAP-Garson
原文链接:https://blog.csdn.net/qq_30797051/article/details/123916970文章来自于网络,如果侵犯了您的权益,请联系站长删除!