A RESTful API(Representational State Transfer) ni aina ya usanifu na itifaki ya kubuni na kudhibiti miingiliano ya programu ya programu(API) katika mifumo iliyosambazwa. RESTful API imejengwa juu ya kanuni za kimsingi za REST usanifu, njia iliyoelezewa na Roy Fielding katika tasnifu yake ya 2000.
Tabia kuu za RESTful API ni pamoja na:
Ufikiaji unaotegemea anwani
Kila nyenzo inawakilishwa na URL(Uniform Resource Locator), ikiruhusu mifumo kuwasiliana kupitia maombi ya HTTP kama vile GET, POST, PUT, na DELETE.
Ufikiaji bila utaifa
Kila ombi kutoka kwa mteja lina maelezo ya kutosha kwa seva kuelewa ombi bila kutegemea maelezo ya awali ya hali. Seva haihifadhi taarifa kuhusu hali ya mteja kati ya maombi.
Matumizi ya mbinu ya HTTP
RESTful API hutumia mbinu za HTTP(GET, POST, PUT, DELETE) kufafanua madhumuni ya kila ombi. Kwa mfano, tumia GET kupata maelezo, POST kuunda data mpya, PUT kusasisha, na DELETE ili kuondoa.
Matumizi ya aina za media
Data husambazwa kwenye mtandao kwa kutumia miundo kama vile JSON, XML, au fomati nyingine maalum. Kila ombi linahitaji kubainisha muundo wa data unaotaka.
Utambulisho wa rasilimali
Rasilimali hutambuliwa na URL za kipekee, zinazowaruhusu wateja kufikia rasilimali kwa kutumia vitambulishi vinavyotokana na njia.
Cacheable
Maombi na majibu kutoka kwa a RESTful API yanaweza kuhifadhiwa kwenye kumbukumbu ya mteja au seva mbadala ili kuboresha utendakazi.
Mfumo wa tabaka
Usanifu REST huruhusu kuongezwa kwa tabaka za kati kama vile visawazishaji vya upakiaji au seva mbadala ili kuboresha uimara na udhibiti.
API RESTful hutumiwa sana katika ukuzaji wa programu za wavuti na simu, kuwezesha mawasiliano bora na kushiriki data kati ya programu. Huduma kuu za wavuti kama Facebook, Twitter, na Google pia hutumia usanifu wa RESTful kutoa API kwa wasanidi.