For sure I do not want to return to the coding style like 

 S f="inputfile.txt" O f U f F  R l D

 . Q:l="***END***"

 . D ##class(process).Input(l)

But working with Python seems to be broadly accepted all over the globe without questioning the syntax of it. In other words: I agree with Robert. There is no perfect programming language and it is always painful to read a code written in an "unknown" language. On the other hand it does not mean that a programmer should not care about code maintainability. So what is the point? Everyone must find the balance between coding efficiency and readability. And tools are just tools helping us find the balance. 

Hello Chris,

Are those "action classes" following a pattern? In other words: do you have some basic repeated structure from whiuch your REST API is made of? If yes, then the "action dispatcher" can be much less complex by using URL path encoded dispatch instead of routing. I had an example doing that for Ensemble ( quite a time ago. It Works for non-Ensemble services too. 

The key is that you have a single dispatch method in your "action dispatcher", which calls the static methods of your "action classes" AND the class name of it somehow derived from a "movable part" of your URL path.


Do not confuse your self. Response is the data being expected as a result of a call. Exception is never expected. An exception is like an asynchronous event trapped by a dedicated error handler.  The trap prepares (or not) to do something to compensate the impact of an error.

Therefor like in COS or Java  you need to define a compensation scope (try block) and compensation handlers (catch block). BPL provides components to do it.


Thanks for the comments. This article is mainly for beginners and focusing on how to build RESTful services. Yes, selecting the right testing tool could be important. But let us help the beginners to buld their first service, let them try (using something) and once they are able to "fly" write them an article "Selecting the best tool for  testing RESTful services".