Supaya web service memenuhi atau compliant dengan arsitektur REST (Representation State Transfer), maka web service tersebut harus memenuhi enam aturan seperti berikut ini

  1. Client server
    REST API server bertugas biasanya berkaitan dengan penyimpanan data di server, sedangkan REST API client biasa melakukan request ke REST API server dan mengolah response dari REST API server menjadi informasi yang ditampilkan ke layar pengguna.
  2. Stateless
    Dengan status stateless maka saat melakukan request, maka pemrosesan request tidak akan mempertimbangkan state di belakangnya. Jika ingin memelihara session, maka REST API server akan memberikan session_id pada responsenya, kemudian pada waktu REST API Client melakukan request maka perlu menyertakan session_id ini dalam requestnya
  3. Cache-able
    Pada aturan ini response dari RESTful harus menyatakan apakah response ini bisa dicache atau tidak sehingga client akan menentukan apakah akan melakukan caching atau tidak.
  4. Uniform interface
    Uniform interface ini seperti memisahkan antara declaration dengan implementation pada OOP (Object Oriented Programming).
    Pada Uniform interface ini ada empat aturan lagi yaitu
    a. Resources identification, kita akan menggunakan URI (Uniform Resource Identifier)
    b. Manipulation of resources through representation, di sini kita akan menggunakan $_SERVER[‘REQUEST_METHOD’]
    c. Self-descriptive messages, setiap request akan diproses hanya oleh isi pesan tersebut
    d. HATEOAS (Hypermedia as the engine of application state), REST API client harus dapat menentukan semua action yang tersedia dan juga resources
  5. Code on demand (optional)
    Pada aturan ini REST API server dapat mengirimkan code misalnya Javascript yang akan dijalankan di client
  6. Layered system
    Pada aturan ini REST API server mungkin memiliki banyak tingkatan layer

Informasi lebih lanjut silahkan mengunjungi
1. https://www.restapitutorial.com/ .
2. https://restfulapi.net/ .
3. https://www.ietf.org/rfc/rfc2616.txt .

Kunjungi www.proweb.co.id untuk menambah wawasan anda .

Arsitektur REST API
× Ada yang dapat saya bantu ?