This is what I did, and it worked the way you mentioned in your question.
I created the base class ApiController and inherited from it all my API controllers. I defined the delete operation in my base class (which returns the string "Not Supported") and did not define delete on any of my child controllers. Now, when I do the deletion on any of my controller, I get the message "Not Supported", that is, the "Base Class" method is called. (I make a Delete request for Child, not for ie / Bike / move base)
But if I define Delete on any of the controllers, it gives me a warning about the implementation of the Hiding base, but when I execute the Delete request for api, I get - "An error has occurred."
I have not tried making RoutePrefix.
source share