Banyak orang asal dalam pembuatan URL untuk RESTful API.
Tidak ada standar, tapi ada baiknya mengikuti best practice yang ada.
Resource :
- sifatnya bisa 1 atau banyak.
- customers dan customer.
Gunakan kata benda, bukan kata kerja.
- http://api.example.com/products, benar
- http://api.example.com/members, benar
- http://api.example.com/get-all-products, salah
- http://api.example.com/select-members-table
Gunakan hirarki.
- http://api.example.com/products/{productId}/images, benar
- http://api.example.com/merchats/{merchantId}/addresses, benar
- http://api.example.com/product-images/{productId}, salah
- http://api.example.com/merchant-addresses/{merchantId}, salah
Gunakan Action pada Resource.
- http://api.example.com/users/login, benar.
- http://api.example.com/users/forget-password, benar.
- http://api.example.com/login-user, salah.
- http://api.example.com/forget-password-user, salah.
Gunakan – dan lowercase.
- http://api.example.com/products/{productId}/warehouse-locations, benar.
- http://api.example.com/products/{productId}/warehouse_locations, salah.
- http://api.example.com/products/{productId}/warehouseLocations, salah.
Gunakan CRUD pada HTTP Method.
- GET http://api.example.com/products/{productId}, benar.
- POST http://api.example.com/products, benar.
- GET http://api.example.com/get-products-by-id/{productId}, salah.
- POST http://api.example.com/create-product
Gunakan Query untuk Filter.
- http://api.example.com/products?name=Indomie, benar.
- http://api.example.com/products?name=Indomie&page=10, benar.
- http://api.example.com/products/filter-by-name/{name}, salah.
- http://api.example.com/products/page/1, salah.