REPORT ZMJ_GETAPI. DATA: LEN TYPE I, "發送報文長度 LEN_STRING TYPE STRING, URL TYPE STRING, "接口地址 HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT, "http客戶端 POST_STRING TYPE STRING, RESULT TYPE STRING. DATA: IT_HEADER TYPE TIHTTPNVP, GV_JSON_IN TYPE STRING VALUE '{"IT_INPUT":[{"CUSTOMER":"12345678","PERNR":"00190935"}]}'. START-OF-SELECTION. URL = 'http://10.*.*.*:8001/api_sapnew/ZIF_DATA'. "'http://10.X.X.X:8081/api/test/gettest'. "創建http客戶端 CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL EXPORTING URL = URL IMPORTING CLIENT = HTTP_CLIENT EXCEPTIONS ARGUMENT_NOT_FOUND = 1 PLUGIN_NOT_ACTIVE = 2 INTERNAL_ERROR = 3 OTHERS = 4. "設定傳輸請求內容格式以及編碼格式 HTTP_CLIENT->REQUEST->SET_CONTENT_TYPE( CONTENT_TYPE = 'application/json; charset=utf-8' ). "設置http method 為Get HTTP_CLIENT->REQUEST->SET_METHOD( IF_HTTP_REQUEST=>CO_REQUEST_METHOD_POST ). "IF_HTTP_ENTITY~CO_REQUEST_METHOD_GET "設置待傳輸內容長度 LEN = STRLEN( GV_JSON_IN ). "設置調用方法 CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD EXPORTING NAME = '~request_method' VALUE = 'POST'. "設置傳入字符串 CALL METHOD HTTP_CLIENT->REQUEST->SET_CDATA EXPORTING DATA = GV_JSON_IN OFFSET = 0 LENGTH = LEN. "發送 CALL METHOD HTTP_CLIENT->SEND EXCEPTIONS HTTP_COMMUNICATION_FAILURE = 1 HTTP_INVALID_STATE = 2 HTTP_PROCESSING_FAILED = 3 HTTP_INVALID_TIMEOUT = 4 OTHERS = 5. "接收 CALL METHOD HTTP_CLIENT->RECEIVE EXCEPTIONS HTTP_COMMUNICATION_FAILURE = 1 HTTP_INVALID_STATE = 2 HTTP_PROCESSING_FAILED = 3. "提取返回字符串 RESULT = HTTP_CLIENT->RESPONSE->GET_CDATA( ). "將字符串中的回車符替換,否則abap將會識別為# REPLACE ALL OCCURRENCES OF REGEX '\n' IN RESULT WITH SPACE. "獲取接口返回的數據 * RESULT = HTTP_CLIENT->RESPONSE->GET_CDATA( ). WRITE: RESULT.