Negli sviluppi moderni, l'integrazione con API è cruciale. In questo articolo dettagliato, esploreremo come consumare un'API utilizzando l'autenticazione di base, focalizzandoci sul metodo "GET". Seguiremo passo-passo il processo, garantendo chiarezza e precisione.
Creare la Destinazione
-
Creazione Destinazione in SM59: Per iniziare, creiamo la destinazione necessaria per la chiamata API. Utilizziamo il codice transazione "SM59" e clicchiamo su "Create". Compiliamo le informazioni necessarie, inclusi i dettagli specifici dell'API e le credenziali di autenticazione.
-
Impostazioni di Sicurezza: Passiamo alla scheda "Logon & Security" e selezioniamo l'autenticazione di base, inserendo l'utente e la password forniti. Salviamo le impostazioni.
See AlsoOttimizzazione delle Versioni Private su SAP Analytics Cloud: Una Guida CompletaIntroduzione alla Gestione API SAP: Una Prospettiva ApprofonditaCome Trovare e Utilizzare API per SAP S/4HANA On-Premise: Guida CompletaIntroduzione all'Edge Integration Cell: Dominare il Mondo dell'Integrazione API
Creare il Programma
-
Programma Esecutivo con Transazione SE38: Creiamo un programma eseguibile utilizzando la transazione SE38. Analizzando la documentazione API, identifichiamo il parametro necessario, in questo caso "quickRfqId".
REPORT z_test_api. PARAMETERS: p_rfqid TYPE numc10. DATA: lt_header_fields TYPE tihttpnvp, mv_uri TYPE string, mv_response TYPE string, mo_http_client TYPE REF TO if_http_client, mt_header_fields TYPE tihttpnvp.
-
Preparazione dei Dati: Serializziamo il parametro in formato JSON e configuriamo la richiesta HTTP.
CALL METHOD cl_http_client=>create_by_destination EXPORTING destination = 'Z_TEST_DESTINATION' IMPORTING client = mo_http_client EXCEPTIONS others = 1. APPEND VALUE #( name = 'Content-Type' value = 'application/json' ) TO lt_header_fields. APPEND VALUE #( name = 'accept' value = 'application/json' ) TO lt_header_fields. mo_http_client->request->set_header_fields( fields = lt_header_fields ). mo_http_client->request->set_method( if_http_request=>co_request_method_get ).
-
Creare Connessione: Componiamo l'URI per la richiesta API e inviamo la richiesta.
v_json = /ui2/cl_json=>serialize( data = p_rfqid pretty_name = /ui2/cl_json=>pretty_mode-camel_case ). mo_http_client->request->set_cdata( EXPORTING data = lv_json ). CONCATENATE mv_uri '?quickRfqId=' p_rfqid INTO mv_uri. cl_http_utility=>set_request_uri( request = mo_http_client->request uri = mv_uri ). mo_http_client->send( EXCEPTIONS http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 ).
-
Consumare la Risposta: Dopo l'invio della richiesta HTTP, elaboriamo la risposta JSON e la convertiamo in dati utilizzabili.
mo_http_client->receive( EXCEPTIONS http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 ). IF sy-subrc EQ 0. mo_http_client->response->get_status( IMPORTING code = DATA(lv_code) reason = DATA(lv_reason) ). IF lv_code <> '200'. CALL METHOD mo_http_client->close EXCEPTIONS others = 1. ENDIF. ENDIF. DATA(lo_rest_client) = NEW cl_rest_http_client( io_http_client = mo_http_client ). lo_response = lo_rest_client->if_rest_client~get_response_entity( ). mv_response = lo_response->get_string_data( ). /ui2/cl_json=>deserialize( EXPORTING json = mv_response CHANGING data = ls_response ).
Risultato
Al termine di questo processo, avremo la struttura dati "ls_response" contenente il risultato della nostra chiamata API. Questo risultato può essere utilizzato con successo nei nostri sviluppi, come evidenziato nella figura 4.
Questo tutorial fornisce una guida dettagliata su come consumare un'API utilizzando il metodo "GET" con autenticazione di base. Implementando correttamente questi passaggi, avrai accesso ai dati dell'API in modo efficiente e sicuro.
Ricorda, la chiarezza nella gestione delle API è essenziale per garantire il corretto flusso di dati nei tuoi progetti. Implementa questi passaggi con attenzione e sfrutta appieno il potenziale delle API nella tua programmazione.