Amazon Home Gym Essentials

I love being active and working out is something I enjoy doing and I have recently found a new love for working out at home. When COVID hit and gyms closed I definitely had to revamp and continue to…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Filter di Spring Web MVC Menggunakan HandlerInterceptor

Yang sudah terbiasa membuat web menggunakan Servlet, pasti sudah tidak asing lagi dengan yang namanya HttpFilter. Class yang dapat kita gunakan untuk melakukan proses filter (sebelum dan setelah) untuk class Servlet yang kita buat.

Cara kerja Filter

Spring Web MVC sendiri sebenarnya adalah framework web Spring yang berjalan diatas Servlet. Namun tidak direkomendasikan jika kita membuat HttpFilter nya Servlet. Jika kita ingin membuat filter, sangat disarankan menggunakan HandlerInterceptor milik Spring Web MVC.

Cara kerja HandlerInterceptor mirip sekali dengan HttpFilter. Dimana HandlerInterceptor akan dieksekusi sebelum dan setelah Spring Controller dijalankan. Jika kita liat isi HandlerInterceptor, ada beberapa method yang dapat kita gunakan untuk melakukan filter.

Jika ditanya, kenapa kita butuh HandlerInterceptor? dan kapan kita bisa menggunakan HandlerInterceptor? Jawabannya sederhana.

Apa aja yang biasa kita buat berulang di action Controller? Contohnya seperti :

Misal, kita membuat Backend RESTful, dimana client harus mengirim API-Key menggunakan BasicAuth. Dari pada kita validasi API-Key nya di tiap action controller, lebih baik kita validasi di HandlerInterceptor, sehingga jika request dari client masuk ke action Controller, kita sudah bisa pastikan kalo request tersebut sudah ter-autentikasi.

Sekarang kita coba buat contoh demo HandlerInterceptor. Sederhana saya, kita akan membuat HandlerInterceptor yang melakukan filter, jika di HTTP Request terdapat parameter “secure=true”, kita anggap requestnya Valid, jika tidak ada parameter “secure=true”, kita tolak requestnya, dan beli response UNAUTHORIZED 401.

HandlerInterceptor tidak bisa secara otomatis berjalan, kita perlu mendaftarkan HandlerInterceptor ke InterceptorRegistry. Caranya kita perlu membuat configuration WebMvcConfigurer, lalu meregistrasikan HandlerInterceptor kita di method addInterceptors().

Sekarang semua HTTP Request dari client, akan divalidasi terlebih dahulu oleh DemoInterceptor, jika valid maka request akan diteruskan ke action Controller, jika tidak valid, request akan ditolak oleh DemoInterceptor.

Add a comment

Related posts:

Breaking Free from a Narcissistic Relationship

Mindfulness theory teaches us to see the good in everything, and to accept everything as a gift. So this is my take on one gift I received. My mother was a psychopathic narcissist, completely…

Where to Begin

When working on stories with your children, you don’t have to begin with a formal story or even a detailed made up story. You can begin with The Day Long Story. This is a story you and your…

Change? Can Things Change?

The America that was once the beacon of hope, the land of the free, the envy of the world, has obviously lost its wheels and lost its way. My country was headed full speed toward the cliff and a sure…