Assuming there is no ID collusion between the various subclasses, I would recommend the following.
GET /animals/:id
With such an answer. (This example is JSON, but it could just as easily be XML, etc.)
{ "id": "xyz", "type": "dog", "tailLength" 400 }
It simplifies and is RESTful.
source share