1.SE24新建类:ZCL_REST_QUERY
激活,然后添加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_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 ). " 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服务:
设置服务的用户名密码:
添加处理类:
保存激活.测试服务: