一、创建全局类SE24创建全局类实现IF_HTTP_EXTENSION接口创建GET和POST方法两个方法都添加参数修改IF_HTTP_EXTENSION~HANDLE_REQUEST方法的代码METHOD if_http_extension~handle_request. DATA(lv_method) server-request-get_method( ).查看调用方法GET OR POST CASE lv_method. WHEN GET. me-get( server ). WHEN POST. me-post( server ). WHEN OTHERS. Sets current HTTP status code server-response-set_status( code 405 reason 请求方法不支持请联系管理员 ). ENDCASE. ENDMETHOD.修改POST方法的代码METHOD post. DATA: lr_json_ser TYPE REF TO cl_trex_json_serializer, lr_json_des TYPE REF TO cl_trex_json_deserializer. DATA: lv_json_string TYPE string. DATA: gt_t005u TYPE TABLE OF t005u. DATA: lv_request TYPE string. DATA: BEGIN OF ls_request, spras TYPE spras, land1 TYPE land1, END OF ls_request. DATA lt_request LIKE STANDARD TABLE OF ls_request. 该内表格式要和外部传入参数格式一致 *--- 获取调用时候传入的参数 CLEAR: lt_request. lv_json_string server-request-get_cdata( ). 获取传入的 JSON 格式数据 /ui2/cl_jsondeserialize( 把 JSON 格式的转化为 ABAP 内表, 把 LV_JSON_STRING 放入 LT_REQUEST 里面 EXPORTING json lv_json_string pretty_name /ui2/cl_jsonpretty_mode-camel_case CHANGING data ls_request ). APPEND ls_request TO lt_request. *--- 设置返回数据格式 CALL METHOD server-response-if_http_entity~set_content_type EXPORTING content_type application/json. *--- 获取要返回的数据 IF lt_request[] IS NOT INITIAL. CLEAR: gt_t005u. SELECT * INTO TABLE gt_t005u FROM t005u UP TO 5 ROWS FOR ALL ENTRIES IN lt_request WHERE spras lt_request-spras AND land1 lt_request-land1. ENDIF. SELECT * INTO TABLE gt_t005u FROM t005u UP TO 5 ROWS. *--- 要返回的数据转换成 JSON 格式 CLEAR: lv_json_string. CREATE OBJECT lr_json_ser EXPORTING data gt_t005u[]. CALL METHOD lr_json_ser-serialize. CALL METHOD lr_json_ser-get_data RECEIVING rval lv_json_string. *--- 设置返回数据 server-response-set_cdata( EXPORTING data lv_json_string Character data ). ENDMETHOD.二、发布服务输入事务码SICF创建服务输入服务名输入之前创建的全局类存储成功后激活服务三、测试服务测试服务拿到URL后在POSTMAN测试