作者:ABAP之家

来源:ABAP之家 http://www.abap.cn

关键词:ABAP之家,SAP发布REST/HTTP接口

SAP发布REST/HTTP接口

1.SE24新建类:ZCL_REST_QUERY

image.png

激活,然后添加interface:IF_HTTP_EXTENSION并激活。

2.实现IF_HTTP_EXTENSION~HANDLE_REQUEST:

  METHOD IF_HTTP_EXTENSION~HANDLE_REQUEST.    DATA: LT_FIELDS       TYPE TIHTTPNVP,
          LV_HEADER_QUERY TYPE STRING,
          LV_DATA         TYPE STRING,
          LV_HTML         TYPE STRING.    FIELD-SYMBOLS: <FS_FIELD>       LIKE LINE OF LT_FIELDS.*" get HEADER fields
    SERVER->REQUEST->GET_HEADER_FIELDS(        CHANGING
          FIELDS = LT_FIELDS    " Header fields      ).
    LV_DATA = SERVER->REQUEST->IF_HTTP_ENTITY~GET_CDATA( ).    " Read the fields table and look for name "~query_string" -- this will contain the URL query
    READ TABLE LT_FIELDS      WITH KEY NAME = '~query_string'
      ASSIGNING <FS_FIELD>.    IF SY-SUBRC EQ 0.      CONCATENATE '{"message": "You have entered'
                  <FS_FIELD>-VALUE                  'as query parameter."}'
             INTO LV_HTML SEPARATED BY SPACE.*" Output to HTML
      SERVER->RESPONSE->SET_CDATA(        EXPORTING
          DATA   = LV_HTML    " Character data*        offset = 0    " Offset into character data*        length = -1    " Length of character data      ).    ENDIF.  ENDMETHOD.

 

3.事务代码SICF定义REST服务:

image.png

设置服务的用户名密码:

image.png

添加处理类:

image.png

保存激活.测试服务: