Many times when you are responding against old version request, you may have to construct alternative logic that mimics the old way things worked. The hardest situation to handle is when you completely remove functionality from the system. Hopefully, this scenario is quite rare. There are a number of ways in which you can deal with it: • You can make the client call a NO-OP (the system just does nothing) • You can attempt to execute some logic aligned with the original intent • You can issue an error and break the client code (this represents a design flaw)
Clearly running an alternate method is the best option, but if the operations were equivalent you wouldn’t have needed a new version. This just seems to idealistic. A no-op or an error seem like the only real options, and calling them a design flaw seems unrealistic as well. Needs change, systems change.