Uygulamam, bazı eylemleri gerçekleştirmek için RESTful bir arabirim sağlar. Ben vb ... NoResultException
veya EntityNotFoundException
gibi özel durumları yakalamak ve sonra NumberFormatException
veya ConstraintViolationException
gibi bir durum 404 kodu veya istisnalar dönmek ve 400 bir durum kodu döndürecek şekilde ExceptionMapper
kullanıyorumFarklı istisnalar için aynı ExceptionMapper
Benim sorunum sadece ExceptionMapper
olduğunu her seferinde bir tür İstisna seçmeme izin veriyor; Bu nedenle, tüm hata 400 ve diğer tüm hata 404 için aynı sınıfı kullanamıyorum.
İki farklı tür özel durumu eşleyen bir ExceptionMapper
oluşturmak için herhangi bir yol var mı?
Bunu da düşündüm; ama dediğin gibi temiz değil. Aslında; Farklı sınıflar için ExceptionMappers ve bunlardan oluşan bir üst sınıftan oluşan bir ExceptionMapper (Exception gibi) yazabilirsiniz; ve özel bir ExceptionMapper ile istisnalar bunu kullanacaktır; ve diğerleri diğerlerinin süper sınıfı olan ExceptionMapper'ı kullanacaklar. –
Yine de birkaç mantıksız minik sınıf boyunca bu mantığı parçalara ayırmak ve büyük resmi görmeyi kaybetmek gibi bir dizi instanceof kontrolünü tercih ediyorum, yani ne tür istisnalar için yanıt kodlarının döndüğü – Amalgovinus